handleResponse method

T handleResponse (
  1. Response response
)

Implementation

T handleResponse(final http.Response response) {
  // Too Many Requests
  if (response.statusCode == 429) {
    int retryAfter = int.parse(response.headers["Retry-After"]);
    throw TooManyRequestsException(retryAfter);
  }

  String content = response.body;

  // Other errors
  if (response.statusCode >= 300) {
    throw ErrorResponse(response.statusCode, content);
  }

  T object = ResponseConverter.fromJson<T>(json.decode(content));
  if (object is Response) {
    object.setHeaders(response.headers);
  }
  if (object is TypedResponse) {
    object.setType(_type);
  }
  return object;
}