handleResponse<T extends BaseApiResponse> static method
Implementation
static ResponseModel<T> handleResponse<T extends BaseApiResponse>(
T Function(Map<String, dynamic> body) parser,
Response apiResponse,
) {
final T response = parser(apiResponse.data as Map<String, dynamic>);
if (apiResponse.headers.value("x-auth-error") == "InvalidCredentials") {
return ResponseModel<T>(
status: ResponseStatus.responseError,
response: response,
error: response.message,
);
}
if (apiResponse.statusCode == 401) {
throw UnauthorizedException(apiResponse.requestOptions);
}
if ((apiResponse.statusCode! < 300 && apiResponse.statusCode! >= 200) ||
apiResponse.statusCode == 500) {
if (!response.status!) {
return ResponseModel<T>(
status: ResponseStatus.responseError,
response: response,
error: response.message,
);
} else {
return ResponseModel<T>(
status: ResponseStatus.success,
response: response,
);
}
} else {
return ResponseModel(
status: ResponseStatus.nullResponse,
error: apiResponse.data['message'] as String,
);
}
}