onResult method

  1. @override
Future<ViaResult> onResult(
  1. ViaResult result
)
override

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;
}