get method
Performs an authenticated HTTP GET request.
urlName is a dotted route name (e.g. 'user.profile').
data is sent as query parameters.
Implementation
Future<http.Response> get(String urlName, Map<String, dynamic> data) async {
try {
// get Url from dotted name
String urlFromName = urls.getUrl(urlName);
if (kDebugMode) {
print('url from name $urlFromName');
}
await ensureHeaders({});
// Build Uri form string
var encodedData = data.map((key, value) {
if (value is String) {
return MapEntry(key, value);
} else {
return MapEntry(key, jsonEncode(value));
}
});
var url = Uri.parse(urlFromName).replace(queryParameters: encodedData);
if (kDebugMode) {
print('url from name parsed $url');
}
// Perform request
var response = await http.get(url, headers: _headers);
// update cookies from response
_updateCookie(response);
return response;
} catch (e) {
log('Api service get error ${e.toString()}');
rethrow;
}
}