request method
A function called when a request reaches this Link
Implementation
@override
Stream<Response> request(
Request request, [
NextLink? forward,
]) {
final shouldDedupe = _shouldDedupe(request);
if (shouldDedupe && _inFlight.containsKey(request)) {
return _inFlight[request]!.split();
}
final splitter = StreamSplitter(forward!(request));
if (shouldDedupe) _inFlight[request] = splitter;
final closeSplitter = () {
if (shouldDedupe) _inFlight.remove(request);
splitter.close();
};
splitter.split().first.then(
(e) => closeSplitter(),
onError: (dynamic e) => closeSplitter(),
);
return splitter.split();
}