onResponse method

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

Called when the response is about to be resolved.

Implementation

@override
void onResponse(
  Response response,
  ResponseInterceptorHandler handler,
) {
  if (level.isNone) return handler.next(response);

  final requestId = response.requestOptions.extra['requestId'] ?? 'unknown';

  _log('┌──── Response [$requestId] ───────────────────────────');
  _log('│ ${response.statusCode} ${response.requestOptions.uri}');

  if (level.includesHeaders && response.headers.map.isNotEmpty) {
    _log('│ Headers:');
    response.headers.map.forEach((key, value) {
      _log('│   $key: ${value.join(', ')}');
    });
  }

  if (level.includesBody && response.data != null) {
    final data = _redactData(response.data);
    _log('│ Body: $data');
  }

  _log('└──────────────────────────────────────────────────────');

  handler.next(response);
}