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);
dynamic requestData;
if (MmUtils.instance!.isEncryptData()) {
requestData = {"requestData": getEncryptRequest(request)};
} else {
requestData = request;
}
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();
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: (MmUtils.instance!.isEncryptData())
? 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;
}
}