search method

Future<SearchResults> search(
  1. String query, {
  2. int? start,
  3. int? limit,
})

Implementation

Future<SearchResults> search(String query, {int? start, int? limit}) async {
  final params = {'q': query};
  if (start != null) {
    params['start'] = start.toString();
  }
  if (limit != null) {
    params['limit'] = limit.toString();
  }
  final uri = Uri.https(_baseUrl, '/search', params);

  final searchResult = await _httpGet(uri);

  if (searchResult.statusCode != 200) {
    throw ContentRequestFailure(statusCode: searchResult.statusCode);
  }

  final bodyJson = jsonDecode(searchResult.body) as Map<String, dynamic>;

  return SearchResults.fromJson(bodyJson);
}