buildHttpResponse function
Future<Response>
buildHttpResponse(
- String endPoint, {
- HttpMethod method = HttpMethod.get,
- Map? request,
Implementation
Future<Response> buildHttpResponse(String endPoint,
{HttpMethod method = HttpMethod.get, Map? request}) async {
if (await isNetworkAvailable()) {
DateTime startApiCall = DateTime.now();
var headers = buildHeaderTokens();
Uri url = buildBaseUrl(endPoint);
//printLogs('Request Before: $request');
Map<String, dynamic> requestData = {
"requestData": getEncryptRequest(request)
};
printLogs('Request After: $requestData');
Response response;
if (method == HttpMethod.post) {
response =
await http.post(url, body: jsonEncode(requestData), headers: headers);
} else if (method == HttpMethod.delete) {
response = await delete(url, headers: headers);
} else if (method == HttpMethod.put) {
response =
await put(url, body: jsonEncode(requestData), headers: headers);
} else {
response = await get(url, headers: headers);
}
if (MmUtils.instance!.isPrintLog()) {
DateTime endApiCall = DateTime.now();
//printLogs("From Logs");
apiURLResponseLog(
url: url.toString(),
endPoint: endPoint,
headers: jsonEncode(headers),
hasRequest: method == HttpMethod.post || method == HttpMethod.put,
request: jsonEncode(request),
encryptRequest: getEncryptRequest(request),
statusCode: response.statusCode.validate(),
encryptResponse:
MasterResponseClass.fromJson(jsonDecode(response.body))
.requestData!,
responseBody: getDecryptDataResponse(
MasterResponseClass.fromJson(jsonDecode(response.body))
.requestData!),
methodType: method.name,
startTime: startApiCall,
endTime: endApiCall);
}
return response;
} else {
throw errorInternetNotAvailable;
}
}