Interceptor
open class Interceptor : @unchecked Sendable, RequestInterceptor
RequestInterceptor which can use multiple RequestAdapter and RequestRetrier values.
-
All
RequestAdapters associated with the instance. These adapters will be run until one fails.Declaration
Swift
public let adapters: [any RequestAdapter] -
All
RequestRetriers associated with the instance. These retriers will be run one at a time until one triggers retry.Declaration
Swift
public let retriers: [any RequestRetrier] -
Creates an instance from
AdaptHandlerandRetryHandlerclosures.Declaration
Swift
public init(adaptHandler: @escaping AdaptHandler, retryHandler: @escaping RetryHandler)Parameters
adaptHandlerAdaptHandlerclosure to be used.retryHandlerRetryHandlerclosure to be used. -
Creates an instance from
RequestAdapterandRequestRetriervalues.Declaration
Swift
public init(adapter: any RequestAdapter, retrier: any RequestRetrier)Parameters
adapterRequestAdaptervalue to be used.retrierRequestRetriervalue to be used. -
Creates an instance from the arrays of
RequestAdapterandRequestRetriervalues.Declaration
Swift
public init(adapters: [any RequestAdapter] = [], retriers: [any RequestRetrier] = [], interceptors: [any RequestInterceptor] = [])Parameters
adaptersRequestAdaptervalues to be used.retriersRequestRetriervalues to be used.interceptorsRequestInterceptors to be used. -
Declaration
Swift
@preconcurrency open func adapt(_ urlRequest: URLRequest, for session: Session, completion: @escaping @Sendable (Result<URLRequest, any Error>) -> Void) -
Declaration
Swift
@preconcurrency open func adapt(_ urlRequest: URLRequest, using state: RequestAdapterState, completion: @escaping @Sendable (Result<URLRequest, any Error>) -> Void) -
Declaration
Swift
@preconcurrency open func retry(_ request: Request, for session: Session, dueTo error: any Error, completion: @escaping @Sendable (RetryResult) -> Void)
View on GitHub
Install in Dash