public protocol AsyncImageDownloadRequestModifier
Represents and wraps a method for modifying request before an image download request starts in an asynchronous way.
Types Conforming to
Represents and wraps a method for modifying request before an image download request starts.
func modified(for request: URLRequest, reportModified: @escaping (URLRequest?) -> Void)
This method will be called just before the
request being sent.
This is the last chance you can modify the image download request. You can modify the request for some
customizing purpose, such as adding auth token to the header, do basic HTTP auth or something like url mapping.
When you have done with the modification, call the
reportModified block with the modified request and the data
download will happen with this request.
Usually, you pass an
AsyncImageDownloadRequestModifier as the associated value of
KingfisherOptionsInfoItem.requestModifier and use it as the
options parameter in related methods.
If you do nothing with the input
request and return it as is, a downloading process will start with it.
The input request contains necessary information like
The callback block you need to call after the asynchronous modifying done.
var onDownloadTaskStarted: ((DownloadTask?) -> Void)?
A block will be called when the download task started.
AsyncImageDownloadRequestModifier and the asynchronous modification happens before the download, the
related download method will not return a valid
DownloadTask value. Instead, you can get one from this method.