fromHttpResponse<T> static method

ResponseImpl<T> fromHttpResponse<T>(
  1. Response response
)

Implementation

static ResponseImpl<T> fromHttpResponse<T>(http.Response response) {
  final dynamic decodedBody = response.body.isNotEmpty ? jsonDecode(response.body) : {};
  final T body;

  if (decodedBody is List) {
    body = decodedBody.cast<Map<String, dynamic>>() as T;
  } else {
    body = decodedBody as T;
  }

  return ResponseImpl<T>._(
      statusCode: response.statusCode,
      headers: response.headers.entries
          .map((entry) => Header(entry.key, entry.value))
          .toSet(),
      bodyString: response.body,
      body: body,
      uri: response.request!.url,
      reasonPhrase: response.reasonPhrase,
      method: response.request!.method);
}