CacheManager class

Flutter Cache Manager Copyright (c) 2019 Rene Floor Released under MIT License. Basic cache manager implementation, which should be used as a single instance.

Implemented types

Constructors

CacheManager(Config config)
Creates a new instance of a cache manager. This can be used to retrieve files from the cache or download them online. The http headers are used for the maximum age of the files. The BaseCacheManager should only be used in singleton patterns.
CacheManager.custom(Config config, {CacheStore? cacheStore, WebHelper? webHelper})

Properties

config Config
Get the config
no setter
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
store → CacheStore
Get the underlying store helper
no setter
webHelper → WebHelper
Get the underlying web helper
no setter

Methods

dispose() Future<void>
Closes the cache database
override
downloadFile(String url, {String? key, Map<String, String>? authHeaders, bool force = false}) Future<FileInfo>
Download the file and add to cache
override
emptyCache() Future<void>
Removes all files from the cache
override
getFile(String url, {String? key, Map<String, String>? headers}) Stream<FileInfo>
Get the file from the cache and/or online, depending on availability and age. Downloaded form url, headers can be used for example for authentication. The files are returned as stream. First the cached file if available, when the cached file is too old the newly downloaded file is returned afterwards.
override
getFileFromCache(String key, {bool ignoreMemCache = false}) Future<FileInfo?>
Get the file from the cache. Specify ignoreMemCache to force a re-read from the database
override
getFileFromMemory(String key) Future<FileInfo?>
Returns the file from memory if it has already been fetched
override
getFileStream(String url, {String? key, Map<String, String>? headers, bool withProgress = false}) Stream<FileResponse>
Get the file from the cache and/or online, depending on availability and age. Downloaded form url, headers can be used for example for authentication. The files are returned as stream. First the cached file if available, when the cached file is too old the newly downloaded file is returned afterwards.
override
getSingleFile(String url, {String? key, Map<String, String>? headers}) Future<File>
Get the file from the cache and/or online, depending on availability and age. Downloaded form url, headers can be used for example for authentication. When a file is cached and up to date it is return directly, when the cached file is too old the file is downloaded and returned after download. When a cached file is not available the newly downloaded file is returned.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
putFile(String url, Uint8List fileBytes, {String? key, String? eTag, Duration maxAge = const Duration(days: 30), String fileExtension = 'file'}) Future<File>
Put a file in the cache. It is recommended to specify the eTag and the maxAge. When maxAge is passed and the eTag is not set the file will always be downloaded again. The fileExtension should be without a dot, for example "jpg". When cache info is available for the url that path is re-used. The returned File is saved on disk.
override
putFileStream(String url, Stream<List<int>> source, {String? key, String? eTag, Duration maxAge = const Duration(days: 30), String fileExtension = 'file'}) Future<File>
Put a byte stream in the cache. When using an existing file you can use file.openRead(). It is recommended to specify the eTag and the maxAge. When maxAge is passed and the eTag is not set the file will always be downloaded again. The fileExtension should be without a dot, for example "jpg". When cache info is available for the url that path is re-used. The returned File is saved on disk.
override
removeFile(String key) Future<void>
Remove a file from the cache
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

logLevel CacheManagerLogLevel
getter/setter pair