123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- import Foundation
- public protocol AsyncImageDownloadRequestModifier {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- func modified(for request: URLRequest, reportModified: @escaping (URLRequest?) -> Void)
-
-
-
-
- var onDownloadTaskStarted: ((DownloadTask?) -> Void)? { get }
- }
- public protocol ImageDownloadRequestModifier: AsyncImageDownloadRequestModifier {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- func modified(for request: URLRequest) -> URLRequest?
- }
- extension ImageDownloadRequestModifier {
- public func modified(for request: URLRequest, reportModified: @escaping (URLRequest?) -> Void) {
- let request = modified(for: request)
- reportModified(request)
- }
-
-
- public var onDownloadTaskStarted: ((DownloadTask?) -> Void)? { return nil }
- }
- public struct AnyModifier: ImageDownloadRequestModifier {
-
- let block: (URLRequest) -> URLRequest?
-
- public func modified(for request: URLRequest) -> URLRequest? {
- return block(request)
- }
-
-
-
-
-
-
-
- public init(modify: @escaping (URLRequest) -> URLRequest?) {
- block = modify
- }
- }
|