CachedResponseHandler
public protocol CachedResponseHandler : Sendable
A type that handles whether the data task should store the HTTP response in the cache.
-
Determines whether the HTTP response should be stored in the cache.
The
completion
closure should be passed one of three possible options:- The cached response provided by the server (this is the most common use case).
- A modified version of the cached response (you may want to modify it in some way before caching).
- A
nil
value to prevent the cached response from being stored in the cache.
Declaration
Swift
func dataTask(_ task: URLSessionDataTask, willCacheResponse response: CachedURLResponse, completion: @escaping (CachedURLResponse?) -> Void)
Parameters
task
The data task whose request resulted in the cached response.
response
The cached response to potentially store in the cache.
completion
The closure to execute containing cached response, a modified response, or
nil
.
-
cache
Extension methodProvides a
ResponseCacher
which caches the response, if allowed. Equivalent toResponseCacher.cache
.Declaration
Swift
public static var cache: ResponseCacher { get }
-
doNotCache
Extension methodProvides a
ResponseCacher
which does not cache the response. Equivalent toResponseCacher.doNotCache
.Declaration
Swift
public static var doNotCache: ResponseCacher { get }
-
modify(using:
Extension method) Creates a
ResponseCacher
which modifies the proposedCachedURLResponse
using the provided closure.Declaration
Swift
public static func modify(using closure: @escaping (@Sendable (URLSessionDataTask, CachedURLResponse) -> CachedURLResponse?)) -> ResponseCacher
Parameters
closure
Closure used to modify the
CachedURLResponse
.Return Value
The
ResponseCacher
.