afterResponse method
      
  
Future<HttpClientResponse?> 
afterResponse(
    
- HttpClientRequest request,
- HttpClientResponse response
override
    @params
kraken: The Kraken widget that is requesting the resource.
  request: HttpClientResponse that containing the detail of the request.
@return newRequest: A HttpClientResponse containing the response information or null if the kraken should load the resource itself.
Implementation
@override
Future<HttpClientResponse?> afterResponse(HttpClientRequest request, HttpClientResponse response) async {
  String requestId = _getRequestId(request);
  sendEventToFrontend(NetworkResponseReceivedEvent(
    requestId: requestId,
    loaderId: devtoolsService.controller!.view.contextId.toString(),
    url: request.uri.toString(),
    headers: _getHttpHeaders(response.headers),
    status: response.statusCode,
    statusText: response.reasonPhrase,
    mimeType: response.headers.value(HttpHeaders.contentTypeHeader) ?? 'text/plain',
    remoteIPAddress: response.connectionInfo!.remoteAddress.address,
    remotePort: response.connectionInfo!.remotePort,
    // HttpClientStreamResponse is the internal implementation for disk cache.
    fromDiskCache: response is HttpClientStreamResponse,
    encodedDataLength: response.contentLength,
    protocol: request.uri.scheme,
    type: _getRequestType(request),
    timestamp: (DateTime.now().millisecondsSinceEpoch - _initialTimestamp) ~/ 1000,
  ));
  sendEventToFrontend(NetworkLoadingFinishedEvent(
    requestId: requestId,
    contentLength: response.contentLength,
    timestamp: (DateTime.now().millisecondsSinceEpoch - _initialTimestamp) ~/ 1000,
  ));
  Uint8List data = await consolidateHttpClientResponseBytes(response);
  _responseBuffers[requestId] = data;
  HttpClientStreamResponse proxyResponse = HttpClientStreamResponse(Stream.value(data),
      statusCode: response.statusCode,
      reasonPhrase: response.reasonPhrase,
      initialHeaders: createHttpHeaders(initialHeaders: _getHttpHeaders(response.headers)));
  HttpClientInterceptor? customHttpClientInterceptor = _customHttpClientInterceptor;
  if (customHttpClientInterceptor != null) {
    return customHttpClientInterceptor.afterResponse(request, proxyResponse);
  } else {
    return Future.value(proxyResponse);
  }
}