onResponse method

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

Called when the response is about to be resolved.

Implementation

@override
void onResponse(Response response, ResponseInterceptorHandler handler) {
  final id = _requestIds.remove(response.requestOptions);
  final startTime = _requestStarts.remove(response.requestOptions);

  if (id != null) {
    final duration = startTime != null
        ? DateTime.now().difference(startTime)
        : Duration.zero;

    _logger.logResponse(
      id: id,
      statusCode: response.statusCode ?? 0,
      headers: response.headers.map.map((k, v) => MapEntry(k, v.join(', '))),
      body: response.data,
      duration: duration,
    );
  }
  handler.next(response);
}