fetch method
Fetch (read fully) content body from a resource identified by reference
.
Depending on the API the reference
can be a relative path, an absolute
URL, a key, or other identifier relevant on a context of an API.
Throws an ApiException
if fetching fails. Implementations like HTTP
fetcher may also throw other status codes than codes for success as
exceptions.
Implementation
@override
Future<HttpContent> fetch(Uri reference) async {
// resolve uri
final uri = _resolver(reference);
// do GET request and receive a "normal" HTTP response
final http.Response response;
try {
response = await _adapter.get(uri, headers: _baseHeaders);
} on Exception catch (e) {
throw ClientException.failed(reference, e);
}
// form content instance from response (and original uri reference)
return _validator(reference, response);
}