Request
public class Request
extension Request: Equatable
extension Request: Hashable
extension Request: CustomStringConvertible
Request is the common superclass of all Alamofire request types and provides common state, delegate, and callback
handling.
-
UUIDproviding a unique identifier for theRequest, used in theHashableandEquatableconformances.Declaration
Swift
public let id: UUID -
The serial queue for all internal async actions.
Declaration
Swift
public let underlyingQueue: DispatchQueue -
The queue used for all serialization actions. By default it’s a serial queue that targets
underlyingQueue.Declaration
Swift
public let serializationQueue: DispatchQueue -
EventMonitorused for event callbacks.Declaration
Swift
public let eventMonitor: EventMonitor? -
The
Request‘s interceptor.Declaration
Swift
public let interceptor: RequestInterceptor? -
The
Request‘s delegate.Declaration
Swift
public private(set) weak var delegate: RequestDelegate?
-
Returns whether
stateis.initialized.Declaration
Swift
public var isInitialized: Bool { get } -
Returns whether
state is.resumed`.Declaration
Swift
public var isResumed: Bool { get } -
Returns whether
stateis.suspended.Declaration
Swift
public var isSuspended: Bool { get } -
Returns whether
stateis.cancelled.Declaration
Swift
public var isCancelled: Bool { get } -
Returns whether
stateis.finished.Declaration
Swift
public var isFinished: Bool { get }
-
Closure type executed when monitoring the upload or download progress of a request.
Declaration
Swift
public typealias ProgressHandler = (Progress) -> Void -
Progressof the upload of the body of the executedURLRequest. Reset to0if theRequestis retried.Declaration
Swift
public let uploadProgress: Progress -
Progressof the download of any response data. Reset to0if theRequestis retried.Declaration
Swift
public let downloadProgress: Progress
-
RedirectHandlerset on the instance.Declaration
Swift
public private(set) var redirectHandler: RedirectHandler? { get set }
-
CachedResponseHandlerset on the instance.Declaration
Swift
public private(set) var cachedResponseHandler: CachedResponseHandler? { get set }
-
URLCredentialused for authentication challenges. Created by calling one of theauthenticatemethods.Declaration
Swift
public private(set) var credential: URLCredential? { get set }
-
All
URLRequestscreated on behalf of theRequest, including original and adapted requests.Declaration
Swift
public var requests: [URLRequest] { get } -
First
URLRequestcreated on behalf of theRequest. May not be the first one actually executed.Declaration
Swift
public var firstRequest: URLRequest? { get } -
Last
URLRequestcreated on behalf of theRequest.Declaration
Swift
public var lastRequest: URLRequest? { get } -
Current
URLRequestcreated on behalf of theRequest.Declaration
Swift
public var request: URLRequest? { get } -
URLRequests from all of theURLSessionTasks executed on behalf of theRequest. May be different fromrequestsdue toURLSessionmanipulation.Declaration
Swift
public var performedRequests: [URLRequest] { get }
-
HTTPURLResponsereceived from the server, if any. If theRequestwas retried, this is the response of the lastURLSessionTask.Declaration
Swift
public var response: HTTPURLResponse? { get }
-
All
URLSessionTasks created on behalf of theRequest.Declaration
Swift
public var tasks: [URLSessionTask] { get } -
First
URLSessionTaskcreated on behalf of theRequest.Declaration
Swift
public var firstTask: URLSessionTask? { get } -
Last
URLSessionTaskcrated on behalf of theRequest.Declaration
Swift
public var lastTask: URLSessionTask? { get } -
Current
URLSessionTaskcreated on behalf of theRequest.Declaration
Swift
public var task: URLSessionTask? { get }
-
All
URLSessionTaskMetricsgathered on behalf of theRequest. Should correspond to thetaskscreated.Declaration
Swift
public var allMetrics: [URLSessionTaskMetrics] { get } -
First
URLSessionTaskMetricsgathered on behalf of theRequest.Declaration
Swift
public var firstMetrics: URLSessionTaskMetrics? { get } -
Last
URLSessionTaskMetricsgathered on behalf of theRequest.Declaration
Swift
public var lastMetrics: URLSessionTaskMetrics? { get } -
Current
URLSessionTaskMetricsgathered on behalf of theRequest.Declaration
Swift
public var metrics: URLSessionTaskMetrics? { get }
-
Number of times the
Requesthas been retried.Declaration
Swift
public var retryCount: Int { get }
-
Errorreturned from Alamofire internally, from the network request directly, or any validators executed.Declaration
Swift
public fileprivate(set) var error: AFError? { get set }
-
Cancels the instance. Once cancelled, a
Requestcan no longer be resumed or suspended.Declaration
Swift
@discardableResult public func cancel() -> SelfReturn Value
The instance.
-
Suspends the instance.
Declaration
Swift
@discardableResult public func suspend() -> SelfReturn Value
The instance.
-
Resumes the instance.
Declaration
Swift
@discardableResult public func resume() -> SelfReturn Value
The instance.
-
Associates a credential using the provided values with the instance.
Declaration
Swift
@discardableResult public func authenticate(username: String, password: String, persistence: URLCredential.Persistence = .forSession) -> SelfParameters
usernameThe username.
passwordThe password.
persistenceThe
URLCredential.Persistencefor the createdURLCredential..forSessionby default.Return Value
The instance.
-
Associates the provided credential with the instance.
Declaration
Swift
@discardableResult public func authenticate(with credential: URLCredential) -> SelfParameters
credentialThe
URLCredential.Return Value
The instance.
-
Sets a closure to be called periodically during the lifecycle of the instance as data is read from the server.
Note
Only the last closure provided is used.
Declaration
Swift
@discardableResult public func downloadProgress(queue: DispatchQueue = .main, closure: @escaping ProgressHandler) -> SelfParameters
queueThe
DispatchQueueto execute the closure on..mainby default.closureThe closure to be executed periodically as data is read from the server.
Return Value
The instance.
-
Sets a closure to be called periodically during the lifecycle of the instance as data is sent to the server.
Note
Only the last closure provided is used.
Declaration
Swift
@discardableResult public func uploadProgress(queue: DispatchQueue = .main, closure: @escaping ProgressHandler) -> SelfParameters
queueThe
DispatchQueueto execute the closure on..mainby default.closureThe closure to be executed periodically as data is sent to the server.
Return Value
The instance.
-
Sets the redirect handler for the instance which will be used if a redirect response is encountered.
Note
Attempting to set the redirect handler more than once is a logic error and will crash.
Declaration
Swift
@discardableResult public func redirect(using handler: RedirectHandler) -> SelfParameters
handlerThe
RedirectHandler.Return Value
The instance.
-
Sets the cached response handler for the
Requestwhich will be used when attempting to cache a response.Note
Attempting to set the cache handler more than once is a logic error and will crash.
Declaration
Swift
@discardableResult public func cacheResponse(using handler: CachedResponseHandler) -> SelfParameters
handlerReturn Value
The instance.
-
Sets a handler to be called when the cURL description of the request is available.
Note
When waiting for a
Request‘sURLRequestto be created, only the lasthandlerwill be called.Declaration
Swift
@discardableResult public func cURLDescription(calling handler: @escaping (String) -> Void) -> SelfParameters
handlerClosure to be called when the cURL description is available.
Return Value
The instance.
-
Posted when a
Requestis resumed. TheNotificationcontains the resumedRequest.Declaration
Swift
static let didResumeNotification: Notification.Name -
Posted when a
Requestis suspended. TheNotificationcontains the suspendedRequest.Declaration
Swift
static let didSuspendNotification: Notification.Name -
Posted when a
Requestis cancelled. TheNotificationcontains the cancelledRequest.Declaration
Swift
static let didCancelNotification: Notification.Name -
Posted when a
Requestis finished. TheNotificationcontains the completedRequest.Declaration
Swift
static let didFinishNotification: Notification.Name -
Posted when a
URLSessionTaskis resumed. TheNotificationcontains theRequestassociated with theURLSessionTask.Declaration
Swift
static let didResumeTaskNotification: Notification.Name -
Posted when a
URLSessionTaskis suspended. TheNotificationcontains theRequestassociated with theURLSessionTask.Declaration
Swift
static let didSuspendTaskNotification: Notification.Name -
Posted when a
URLSessionTaskis cancelled. TheNotificationcontains theRequestassociated with theURLSessionTask.Declaration
Swift
static let didCancelTaskNotification: Notification.Name -
Posted when a
URLSessionTaskis completed. TheNotificationcontains theRequestassociated with theURLSessionTask.Declaration
Swift
static let didCompleteTaskNotification: Notification.Name
-
Declaration
Swift
public static func == (lhs: Request, rhs: Request) -> Bool -
Declaration
Swift
public func hash(into hasher: inout Hasher) -
A textual representation of this instance, including the
HTTPMethodandURLif theURLRequesthas been created, as well as the response status code, if a response has been received.Declaration
Swift
public var description: String { get } -
cURL representation of the instance.
Declaration
Swift
public func cURLDescription() -> StringReturn Value
The cURL equivalent of the instance.
-
Used to represent whether a validation succeeded or failed.
Declaration
Swift
public typealias ValidationResult = Result<Void, Error>
View on GitHub
Install in Dash
Request Class Reference