parseResponse method
Implementation
FutureOr<dynamic> parseResponse(
HttpResponse response, {
HttpMethod? requestMethod,
String? requestPath,
String? methodName,
Map<String, Object?>? parameters,
}) {
if (response.isError) {
return parseResponseBody(response).resolveMapped((error) {
var responseError = APIModuleProxyCallerResponseError(
'Response ERROR> $error',
request: {
'requestMethod': requestMethod?.name,
'requestPath': requestPath,
'responseStatus': response.status,
},
response: response,
responseStatus: parseAPIResponseStatus(response.status),
responseError: error,
module: modulePath,
methodName: methodName,
parameters: parameters,
);
final errorHandler = this.errorHandler ??
defaultErrorHandler ??
APIModuleProxyCallerListener.defaultErrorHandler;
if (errorHandler != null) {
try {
errorHandler(responseError);
} catch (e, s) {
_log.severe("Error calling `errorHandler`!", e, s);
}
}
throw responseError;
});
}
if (response.isNotOK) return null;
return parseResponseBody(response);
}