process method

APIResponse<JsonData> process(
  1. Response response
)

Implementation

APIResponse<JsonData> process(Response response) {
  Error error;
  final httpStatus = HTTPStatus(response.statusCode);
  JsonData? data;

  final responseData = response.data;

  if (responseData is JSONObjectAlias) {
    data = JsonObject(responseData);
  }

  if (responseData is JSONArrayAlias) {
    final mappedResponseData = responseData
        .map(
          (e) => JsonObject(e),
        )
        .toList();
    data = JsonArray(mappedResponseData);
  }

  if (httpStatus.isOk) {
    return APIResponse<JsonData>(response.headers, data);
  } else {
    error = handleResponseError(response);
  }
  throw error;
}