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 requestId = response.requestOptions.headers['X-Request-ID'];
  final timestamp = response.requestOptions.headers['X-Request-Timestamp'];

  if (LokotroPayEnv.debugMode) {
    debugPrint('[Lokotro Pay Interceptor] Response: ${response.statusCode} for request $requestId');
    debugPrint('[Lokotro Pay Interceptor] Response time: ${_calculateResponseTime(timestamp)}ms');
  }

  // Add response metadata
  response.headers.add('X-Response-Timestamp', DateTime.now().toIso8601String());
  response.headers.add('X-Request-ID', requestId ?? '');

  super.onResponse(response, handler);
}