get method
Sets auth headers in provided headers
and sends HTTP GET request to
given uri
with body
set as encoded uri parameters.
Implementation
Future<Map<String, dynamic>> get(String uri,
{Map<String, dynamic>? body, Map<String, String>? headers}) async {
uri = baseUri + uri;
headers = await _setAuthHeader(headers);
if (body != null) {
// list of the uri parameters to be set
var params = [];
for (var key in body.keys) {
params.add('$key=${body[key]}');
}
uri += '?';
uri += params.join('&');
uri = Uri.encodeFull(uri);
}
log.finest('Sending GET request to URL: ' + uri);
var response = await http.get(Uri.parse(uri), headers: headers);
Map<String, dynamic> responseMap;
try {
responseMap = _decodeResponse(response);
} on AuthException {
log.finest('Got AuthException, reauthenticating');
await authenticate();
headers = await _setAuthHeader(headers);
response = await http.get(Uri.parse(uri), headers: headers);
responseMap = _decodeResponse(response);
}
return responseMap;
}