onResponse method

  1. @override
void onResponse(
  1. Response response,
  2. ResponseInterceptorHandler handler, {
  3. bool skipNext = false,
})

Called when the response is about to be resolved.

Implementation

@override
void onResponse(Response response, ResponseInterceptorHandler handler,
    {bool skipNext = false}) {
  final networkResponse = NectorNetworkResponse()
    ..statusCode = response.statusCode;

  if (response.data == null) {
    networkResponse
      ..body = ''
      ..size = 0;
  } else {
    networkResponse
      ..body = response.data
      ..size = utf8.encode(response.data.toString()).length;
  }
  networkResponse.time = DateTime.now();
  final headers = <String, String>{};
  response.headers.forEach((header, values) {
    headers[header] = values.toString();
  });
  networkResponse.headers = headers;
  _controller.addResponse(networkResponse, response.requestOptions.hashCode);
  if (!skipNext) handler.next(response);
}