find method
Searches for the image on sauce nao.
Returns a SauceNaoResults
If no results are found, returns null.
If an error occurs, throws an SauceNaoException.
requestParams
is here to override the default request params.
Implementation
Future<SauceNaoResults> find(String imageUrl,
[Map<String, dynamic>? requestParams]) async {
final uri = _baseUri.replace(
queryParameters: (requestParams ?? this.requestParams!)
..addAll({'url': imageUrl}));
final request = await _httpClient.getUrl(uri);
final response = await request.close();
final body = await response.transform(utf8.decoder).join();
if (response.statusCode != 200) {
throw SauceNaoException(
'Error while searching for image.\n'
'Status code: ${response.statusCode}\n'
'Body: $body',
);
}
final json = jsonDecode(body);
_httpClient.close();
return SauceNaoResults(json);
}