onResult method
Called after buffered response is received.
Implementation
@override
Future<ViaResult> onResult(ViaResult result) async {
if (duration == Duration.zero) {
return result;
}
// Check if response can be cached
if (canCache != null && !canCache!(result)) {
return result;
}
// Cache the response
final key = _getCacheKey(result.request);
// Memory management: Remove oldest entry if limit reached
if (_cache.length >= maxEntries) {
_cache.remove(_cache.keys.first);
}
_cache[key] = _CacheEntry(result, duration);
return result;
}