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(dio.Response response, ResponseInterceptorHandler handler) {
  final id = response.requestOptions.extra['debug_id'];
  final entry = _pendingLogs.remove(id);

  if (entry != null) {
    final updated = DebugLogEntry(
      id: entry.id,
      timestamp: entry.timestamp,
      method: entry.method,
      url: entry.url,
      baseUrl: entry.baseUrl,
      requestData: entry.requestData,
      queryParameters: entry.queryParameters,
      statusCode: response.statusCode,
      responseData: response.data,
      duration: DateTime.now().difference(entry.timestamp),
    );
    _controller.updateLog(entry.id, updated);
  }
  handler.next(response);
}