onRequest method
Called when the request is about to be sent.
Implementation
@override
void onRequest(
RequestOptions options,
RequestInterceptorHandler handler,
) {
if (level.isNone) return handler.next(options);
// Generate or use existing request ID for tracking
final requestId =
options.extra['requestId'] as String? ?? _generateRequestId();
options.extra['requestId'] = requestId;
_log('┌──── Request [$requestId] ────────────────────────────');
_log('│ ${options.method} ${options.uri}');
if (level.includesHeaders && options.headers.isNotEmpty) {
final headers = _redactHeaders(options.headers);
_log('│ Headers:');
headers.forEach((key, value) {
_log('│ $key: $value');
});
}
if (level.includesBody && options.data != null) {
final data = _redactData(options.data);
_log('│ Body: $data');
}
if (options.queryParameters.isNotEmpty) {
_log('│ Query Parameters: ${options.queryParameters}');
}
_log('└──────────────────────────────────────────────────────');
handler.next(options);
}