send method
Implementation
Future<Response> send({bool log = true}) async {
String newUrl = url;
newUrl = newUrl + endpoint;
newUrl = newUrl.replaceAll('//', '/');
newUrl = newUrl.replaceAll(':/', '://');
Uri requestUrl = Uri.parse(newUrl);
if (params != null) {
requestUrl = requestUrl.replace(queryParameters: params);
}
if (log) {
Log.info(requestUrl.toString());
}
Response serverResponse;
if (method == 'GET') {
serverResponse = await get(
requestUrl,
headers: _getRequestHeaders(headers),
).timeout(const Duration(seconds: 30));
} else if (method == 'POST') {
serverResponse = await post(
requestUrl,
body: body != null ? jsonEncode(_getRequestBody(body! as Map<String, dynamic>?)) : null,
headers: _getRequestHeaders(headers),
).timeout(const Duration(seconds: 30));
} else {
throw Exception('Invalid HTTP method.');
}
if (log) {
Log.info(serverResponse.body);
}
return serverResponse;
}