buildHttpResponse function
Implementation
Future<Response> buildHttpResponse(
String endPoint, {
HttpMethod method = HttpMethod.GET,
Map? request,
String? flutterWaveSecretKey,
String? stripeKeyPayment,
bool isStripePayment = false,
bool isFlutterWave = false,
bool isSadadPayment = false,
String? sadadToken,
}) async {
if (await isNetworkAvailable()) {
var headers = buildHeaderTokens(
isStripePayment: isStripePayment,
flutterWaveSecretKey: flutterWaveSecretKey,
stripeKeyPayment: stripeKeyPayment,
isFlutterWave: isFlutterWave,
isSadadPayment: isSadadPayment,
sadadToken: sadadToken,
);
Uri url = buildBaseUrl(endPoint);
log(url);
Response response;
if (method == HttpMethod.POST) {
log('Request: ${jsonEncode(request)}');
response = await http.post(
url,
body: jsonEncode(request),
headers: headers,
encoding: isStripePayment ? Encoding.getByName("utf-8") : null,
);
} else if (method == HttpMethod.DELETE) {
response = await delete(url, headers: headers);
} else if (method == HttpMethod.PUT) {
response = await put(url, body: jsonEncode(request), headers: headers);
} else {
response = await get(url, headers: headers);
}
log('Response (${method.name}) ${response.statusCode}: ${response.body}');
apiPrint(
url: url.toString(),
endPoint: endPoint,
headers: jsonEncode(headers),
hasRequest: method == HttpMethodType.POST || method == HttpMethodType.PUT,
request: jsonEncode(request),
statusCode: response.statusCode,
responseBody: response.body,
methodtype: method.name,
);
return response;
} else {
throw errorInternetNotAvailable;
}
}