onResponse method

  1. @override
void onResponse(
  1. Response response,
  2. ResponseInterceptorHandler handler
)
inherited

Called when the response is about to be resolved.

Implementation

@override
void onResponse(Response response, ResponseInterceptorHandler handler) {
  if (!enabled ||
      (filter != null &&
          !filter!(
              response.requestOptions, FilterArgs(true, response.data)))) {
    handler.next(response);
    return;
  }

  final triggerTime = response.requestOptions.extra[_timeStampKey];

  int diff = 0;
  if (triggerTime is int) {
    diff = DateTime.timestamp().millisecondsSinceEpoch - triggerTime;
  }
  _printResponseHeader(response, diff);
  if (responseHeader) {
    final responseHeaders = <String, String>{};
    response.headers
        .forEach((k, list) => responseHeaders[k] = list.toString());
    _printMapAsTable(responseHeaders, header: 'Headers');
  }

  if (responseBody) {
    logPrint('╔ Body');
    logPrint('║');
    _printResponse(response);
    logPrint('║');
    _printLine('╚');
  }
  handler.next(response);
}