jsonRequest method
make a get request to the given url
Implementation
Future<Map<String, dynamic>> jsonRequest(
String url, {
bool followRedirects = true,
Duration? timeout,
}) async {
final uri = Uri.parse(url).replace(scheme: 'https');
const headers = {"Accept": "application/json"};
final http.Response response;
if (followRedirects && timeout == null) {
response = await _client.get(uri, headers: headers);
} else {
final abort = Completer<void>();
final timer = timeout == null ? null : Timer(timeout, abort.complete);
final request = http.AbortableRequest(
'GET',
uri,
abortTrigger: abort.future,
)
..headers.addAll(headers)
..followRedirects = followRedirects;
try {
response = await http.Response.fromStream(await _client.send(request));
} finally {
timer?.cancel();
}
}
if (!_isSuccessStatus(response.statusCode)) {
throw HttpRequestException(
statusCode: response.statusCode,
body: response.body,
url: url,
);
}
return jsonDecode(response.body);
}