transformResponse method

  1. @override
Future transformResponse(
  1. RequestOptions options,
  2. ResponseBody responseBody
)
override

Skips MIME validation and returns the response body as a raw string (or stream/bytes when those response types are requested).

Implementation

@override
Future transformResponse(
  RequestOptions options,
  ResponseBody responseBody,
) async {
  // Return streams and bytes as-is
  if (options.responseType == .stream) {
    return responseBody;
  }

  final responseBytes = await consolidateBytes(responseBody.stream);

  if (options.responseType == .bytes) {
    return responseBytes;
  }

  // Always decode as string, no JSON parsing
  return utf8.decode(responseBytes, allowMalformed: true);
}