fromResponse method

HttpResponseModel fromResponse({
  1. required Response response,
  2. Duration? time,
  3. bool isStreamingResponse = false,
})

Implementation

HttpResponseModel fromResponse({
  required Response response,
  Duration? time,
  bool isStreamingResponse = false,
}) {
  final responseHeaders = mergeMaps({
    HttpHeaders.contentLengthHeader: response.contentLength.toString(),
  }, response.headers);
  MediaType? mediaType = getMediaTypeFromHeaders(responseHeaders);

  final body = (mediaType?.subtype == kSubTypeJson)
      ? utf8.decode(response.bodyBytes)
      : response.body;

  return HttpResponseModel(
    statusCode: response.statusCode,
    headers: responseHeaders,
    requestHeaders: response.request?.headers,
    body: body,
    formattedBody: formatBody(body, mediaType),
    bodyBytes: response.bodyBytes,
    time: time,
    sseOutput: isStreamingResponse ? [body] : null,
  );
}