parseResponse method
Mapping and cast HTTP response
@param body @param status @return
Implementation
Response parseResponse(String body, int status) {
final response = Response.fromJson(body);
response.setStatus(status);
switch (status) {
case 200:
return SuccessResponse().fromResponse(response);
case 202:
return PayloadResponse().fromResponse(response);
case 400:
return ErrorResponse().fromResponse(response);
case 401:
case 403:
return NoAccessResponse().fromResponse(response);
case 402:
return PaymentDeclinedResponse().fromResponse(response);
case 404:
case 405:
case 406:
return NotFoundResponse().fromResponse(response);
case 408:
return TimeoutResponse().fromResponse(response);
case 412:
case 418:
return PreconditionalResponse().fromResponse(response);
case 422:
return InputErrorResponse().fromResponse(response);
case 500:
return FailureResponse().fromResponse(response);
default:
if (status > 500) {
return NetworkFailureResponse().fromResponse(response);
} else {
return response;
}
}
}