interceptRequest method

  1. @override
FutureOr<BaseRequest> interceptRequest({
  1. required BaseRequest request,
})

Runs before the request is sent. Return the (possibly modified) request.

Implementation

@override
FutureOr<BaseRequest> interceptRequest({required BaseRequest request}) {
  final network = _networkOrNull();
  if (network != null) {
    try {
      final body = request is Request ? request.body : null;
      _inFlight[request] = network.start(
        method: request.method,
        url: urlFor?.call(request) ?? request.url.toString(),
        requestHeaders: Map<String, String>.from(request.headers),
        requestBody: body == null ? null : _cap(body),
        requestBodySize: body?.length ?? request.contentLength,
      );
    } catch (_) {
      // Never let logging take down the actual HTTP call.
    }
  }
  return request;
}