| Index: dart/samples/dartiverse_search/stack_overflow_search_engine.dart
|
| ===================================================================
|
| --- dart/samples/dartiverse_search/stack_overflow_search_engine.dart (revision 29908)
|
| +++ dart/samples/dartiverse_search/stack_overflow_search_engine.dart (working copy)
|
| @@ -1,39 +0,0 @@
|
| -// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -part of dartiverse_search;
|
| -
|
| -
|
| -class StackOverflowSearchEngine {
|
| - String get name => 'StackOverflow';
|
| -
|
| - Stream<SearchResult> search(String input) {
|
| - var query = {
|
| - 'site': 'stackoverflow',
|
| - 'tagged': 'dart',
|
| - 'intitle': input,
|
| - 'sort': 'relevance',
|
| - 'order': 'desc',
|
| - 'pagesize': '3'
|
| - };
|
| - var searchUri = new Uri.https(
|
| - 'api.stackexchange.com',
|
| - '/2.1/search',
|
| - query);
|
| - var controller = new StreamController();
|
| - http_client.get(searchUri)
|
| - .then((response) {
|
| - if (response.statusCode != HttpStatus.OK) throw "Bad status code.";
|
| - var json = JSON.decode(response.body);
|
| - json.putIfAbsent('items', () => []);
|
| - json['items'].take(3).forEach((item) {
|
| - controller.add(new SearchResult(
|
| - item['title'], item['link']));
|
| - });
|
| - })
|
| - .catchError(controller.addError)
|
| - .whenComplete(controller.close);
|
| - return controller.stream;
|
| - }
|
| -}
|
|
|