intercept method

  1. @override
Future<HttpResponse> intercept(
  1. HttpRequest request,
  2. CancellationToken token,
  3. HttpRequestHandler next
)
override

Implementation

@override
Future<HttpResponse> intercept(HttpRequest request, CancellationToken token,
    HttpRequestHandler next) async {
  await _acquire(token);
  try {
    token.throwIfCanceled();
    final response = await next(request, token);
    return response.withBody(response.body, onClose: _release);
  } catch (_) {
    _release();
    rethrow;
  }
}