deleteExpiredCacheEntries method

  1. @override
Future<void> deleteExpiredCacheEntries({
  1. CancellationToken? cancellationToken,
})
override

Removes all expired cache entries.

Implementation

@override
Future<void> deleteExpiredCacheEntries(
    {CancellationToken? cancellationToken}) async {
  final cacheRoot = Directory(_cacheRootPath);
  if (!cacheRoot.existsSync()) return;

  for (final scenarioDir in cacheRoot.listSync().whereType<Directory>()) {
    for (final iterDir
        in scenarioDir.listSync().whereType<Directory>()) {
      final cache = DiskBasedResponseCache(
        iterDir.path,
        timeToLive: _timeToLive,
        clock: _clock,
      );
      await cache.deleteExpiredEntries();
    }
  }
}