onRequest method

  1. @override
void onRequest(
  1. RequestOptions options,
  2. RequestInterceptorHandler handler
)

Called when the request is about to be sent.

Implementation

@override
void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
  // Add timestamp to request
  options.headers['X-Request-Timestamp'] = DateTime.now().toIso8601String();

  // Add request ID for tracking
  options.headers['X-Request-ID'] = _generateRequestId();

  // Add environment info
  options.headers['X-Environment'] = LokotroPayEnv.environment;

  // Add user agent
  options.headers['User-Agent'] = _buildUserAgent();

  if (LokotroPayEnv.debugMode) {
    debugPrint('[Lokotro Pay Interceptor] Request: ${options.method} ${options.uri}');
    // Never log headers - they contain auth tokens
  }

  super.onRequest(options, handler);
}