request method
A function called when a request reaches this Link
Implementation
@override
Stream<Response> request(Request request, [NextLink? forward]) async* {
final policy = _getPolicyFromContext(request.context) ?? defaultPolicy;
final ttl = _getTtlFromContext(request.context) ?? defaultTtl;
final cacheKey = generateCacheKey(request);
switch (policy) {
case CachePolicy.cacheFirst:
yield* _cacheFirst(request, forward, cacheKey, ttl);
case CachePolicy.networkFirst:
yield* _networkFirst(request, forward, cacheKey, ttl);
case CachePolicy.cacheOnly:
yield* _cacheOnly(request, cacheKey);
case CachePolicy.networkOnly:
yield* _networkOnly(request, forward, cacheKey, ttl);
case CachePolicy.cacheAndNetwork:
yield* _cacheAndNetwork(request, forward, cacheKey, ttl);
}
}