postRequest static method
Http post request
Implementation
static postRequest({required Uri url, Map<String, String>? headers, required dynamic body}) async {
try {
UnifiedRequest prepared = await UnifiedInterceptorRunner.runOnRequest(
UnifiedRequest(method: 'POST', uri: url, headers: headers, body: body),
_interceptors,
);
debugPrint('requesting post : ${prepared.uri}');
final response = _client != null
? await _client!.post(prepared.uri, headers: prepared.headers, body: json.encode(prepared.body))
: await http.post(prepared.uri, headers: prepared.headers, body: json.encode(prepared.body));
await UnifiedInterceptorRunner.runOnResponse(
UnifiedResponse(
statusCode: response.statusCode,
data: response.body,
headers: response.headers,
request: prepared,
),
_interceptors,
);
return response;
} on PlatformException catch (e, st) {
await _notifyError(e, st, request: UnifiedRequest(method: 'POST', uri: url, headers: headers, body: body));
return Failure(ErrorResponse(
unifiedHttpClientEnum: UnifiedHttpClientEnum.platformExceptionError,
errorResponseHolder: ErrorResponseHolder(defaultMessage: 'Platform Exception Caught')));
} on SocketException catch (e, st) {
await _notifyError(e, st, request: UnifiedRequest(method: 'POST', uri: url, headers: headers, body: body));
return Failure(ErrorResponse(
unifiedHttpClientEnum: UnifiedHttpClientEnum.socketExceptionError,
errorResponseHolder: ErrorResponseHolder(defaultMessage: 'Socket Exception:$e')));
} on FormatException catch (e, st) {
await _notifyError(e, st, request: UnifiedRequest(method: 'POST', uri: url, headers: headers, body: body));
return Failure(ErrorResponse(
unifiedHttpClientEnum: UnifiedHttpClientEnum.formatExceptionError,
errorResponseHolder: ErrorResponseHolder(defaultMessage: 'format exception Error')));
} catch (e, st) {
await _notifyError(e, st, request: UnifiedRequest(method: 'POST', uri: url, headers: headers, body: body));
return Failure(ErrorResponse(
unifiedHttpClientEnum: UnifiedHttpClientEnum.undefined,
errorResponseHolder: ErrorResponseHolder(defaultMessage: 'something went Wrong : $e')));
}
}