docs/Classes/Interceptor.html
open class Interceptor : @unchecked Sendable, RequestInterceptor
RequestInterceptor which can use multiple RequestAdapter and RequestRetrier values.
`
adapters
`
All RequestAdapters associated with the instance. These adapters will be run until one fails.
Swift
public let adapters: [any RequestAdapter]
`
retriers
`
All RequestRetriers associated with the instance. These retriers will be run one at a time until one triggers retry.
Swift
public let retriers: [any RequestRetrier]
`
init(adaptHandler:retryHandler:)
`
Creates an instance from AdaptHandler and RetryHandler closures.
Swift
public init(adaptHandler: @escaping AdaptHandler, retryHandler: @escaping RetryHandler)
| adaptHandler |
AdaptHandler closure to be used.
|
| retryHandler |
RetryHandler closure to be used.
|
`
init(adapter:retrier:)
`
Creates an instance from RequestAdapter and RequestRetrier values.
Swift
public init(adapter: any RequestAdapter, retrier: any RequestRetrier)
| adapter |
RequestAdapter value to be used.
|
| retrier |
RequestRetrier value to be used.
|
`
init(adapters:retriers:interceptors:)
`
Creates an instance from the arrays of RequestAdapter and RequestRetrier values.
Swift
public init(adapters: [any RequestAdapter] = [],
retriers: [any RequestRetrier] = [],
interceptors: [any RequestInterceptor] = [])
| adapters |
RequestAdapter values to be used.
|
| retriers |
RequestRetrier values to be used.
|
| interceptors |
RequestInterceptors to be used.
|
`
adapt(_:for:completion:)
`
Swift
@preconcurrency
open func adapt(_ urlRequest: URLRequest, for session: Session, completion: @escaping @Sendable (Result<URLRequest, any Error>) -> Void)
`
adapt(_:using:completion:)
`
Swift
@preconcurrency
open func adapt(_ urlRequest: URLRequest, using state: RequestAdapterState, completion: @escaping @Sendable (Result<URLRequest, any Error>) -> Void)
`
retry(_:for:dueTo:completion:)
`
Swift
@preconcurrency
open func retry(_ request: Request,
for session: Session,
dueTo error: any Error,
completion: @escaping @Sendable (RetryResult) -> Void)