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,
) async {
  try {
    if (addCorrelationHeaders) {
      final correlationHeaders =
          await RequestTracker.getServerCorrelationHeaders();
      final headers = correlationHeaders.map(
        (key, value) => MapEntry(key, value.first),
      );
      options.headers.addAll(headers);
    }

    var url = options.uri.toString();
    final tracker = await RequestTracker.create(url);
    _activeTrackers[tracker.id] = tracker;
    options.extra[_trackerId] = tracker.id;
  } finally {
    handler.next(options);
  }
}