docs/docsets/Alamofire.docset/Contents/Resources/Documents/Protocols/EventMonitor.html
public protocol EventMonitor : Sendable
Protocol outlining the lifetime events inside Alamofire. It includes both events received from the various URLSession delegate protocols as well as various events from the lifetime of Request and its subclasses.
`
queue
` Default implementation
The DispatchQueue on which events will be called.
The default queue on which CompositeEventMonitors will call the EventMonitor methods. .main by default.
Swift
var queue: DispatchQueue { get }
`
urlSession(_:didBecomeInvalidWithError:)
` Default implementation
Event called during URLSessionDelegate‘s urlSession(_:didBecomeInvalidWithError:) method.
Swift
func urlSession(_ session: URLSession, didBecomeInvalidWithError error: (any Error)?)
`
urlSession(_:task:didReceive:)
` Default implementation
Event called during URLSessionTaskDelegate‘s urlSession(_:task:didReceive:completionHandler:) method.
Swift
func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge)
`
urlSession(_:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:)
` Default implementation
Event called during URLSessionTaskDelegate‘s urlSession(_:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:) method.
Swift
func urlSession(_ session: URLSession,
task: URLSessionTask,
didSendBodyData bytesSent: Int64,
totalBytesSent: Int64,
totalBytesExpectedToSend: Int64)
`
urlSession(_:taskNeedsNewBodyStream:)
` Default implementation
Event called during URLSessionTaskDelegate‘s urlSession(_:task:needNewBodyStream:) method.
Swift
func urlSession(_ session: URLSession, taskNeedsNewBodyStream task: URLSessionTask)
`
urlSession(_:task:willPerformHTTPRedirection:newRequest:)
` Default implementation
Event called during URLSessionTaskDelegate‘s urlSession(_:task:willPerformHTTPRedirection:newRequest:completionHandler:) method.
Swift
func urlSession(_ session: URLSession,
task: URLSessionTask,
willPerformHTTPRedirection response: HTTPURLResponse,
newRequest request: URLRequest)
`
urlSession(_:task:didFinishCollecting:)
` Default implementation
Event called during URLSessionTaskDelegate‘s urlSession(_:task:didFinishCollecting:) method.
Swift
func urlSession(_ session: URLSession, task: URLSessionTask, didFinishCollecting metrics: URLSessionTaskMetrics)
`
urlSession(_:task:didCompleteWithError:)
` Default implementation
Event called during URLSessionTaskDelegate‘s urlSession(_:task:didCompleteWithError:) method.
Swift
func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: (any Error)?)
`
urlSession(_:taskIsWaitingForConnectivity:)
` Default implementation
Event called during URLSessionTaskDelegate‘s urlSession(_:taskIsWaitingForConnectivity:) method.
Swift
func urlSession(_ session: URLSession, taskIsWaitingForConnectivity task: URLSessionTask)
`
urlSession(_:dataTask:didReceive:)
` Default implementation
Event called during URLSessionDataDelegate‘s urlSession(_:dataTask:didReceive:completionHandler:) method.
Swift
func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse)
`
urlSession(_:dataTask:didReceive:)
` Default implementation
Event called during URLSessionDataDelegate‘s urlSession(_:dataTask:didReceive:) method.
Swift
func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data)
`
urlSession(_:dataTask:willCacheResponse:)
` Default implementation
Event called during URLSessionDataDelegate‘s urlSession(_:dataTask:willCacheResponse:completionHandler:) method.
Swift
func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, willCacheResponse proposedResponse: CachedURLResponse)
`
urlSession(_:downloadTask:didResumeAtOffset:expectedTotalBytes:)
` Default implementation
Event called during URLSessionDownloadDelegate‘s urlSession(_:downloadTask:didResumeAtOffset:expectedTotalBytes:) method.
Swift
func urlSession(_ session: URLSession,
downloadTask: URLSessionDownloadTask,
didResumeAtOffset fileOffset: Int64,
expectedTotalBytes: Int64)
`
urlSession(_:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:)
` Default implementation
Event called during URLSessionDownloadDelegate‘s urlSession(_:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:) method.
Swift
func urlSession(_ session: URLSession,
downloadTask: URLSessionDownloadTask,
didWriteData bytesWritten: Int64,
totalBytesWritten: Int64,
totalBytesExpectedToWrite: Int64)
`
urlSession(_:downloadTask:didFinishDownloadingTo:)
` Default implementation
Event called during URLSessionDownloadDelegate‘s urlSession(_:downloadTask:didFinishDownloadingTo:) method.
Swift
func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL)
`
request(_:didCreateInitialURLRequest:)
` Default implementation
Event called when a URLRequest is first created for a Request. If a RequestAdapter is active, the URLRequest will be adapted before being issued.
Swift
func request(_ request: Request, didCreateInitialURLRequest urlRequest: URLRequest)
`
request(_:didFailToCreateURLRequestWithError:)
` Default implementation
Event called when the attempt to create a URLRequest from a Request‘s original URLRequestConvertible value fails.
Swift
func request(_ request: Request, didFailToCreateURLRequestWithError error: AFError)
`
request(_:didAdaptInitialRequest:to:)
` Default implementation
Event called when a RequestAdapter adapts the Request‘s initial URLRequest.
Swift
func request(_ request: Request, didAdaptInitialRequest initialRequest: URLRequest, to adaptedRequest: URLRequest)
`
request(_:didFailToAdaptURLRequest:withError:)
` Default implementation
Event called when a RequestAdapter fails to adapt the Request‘s initial URLRequest.
Swift
func request(_ request: Request, didFailToAdaptURLRequest initialRequest: URLRequest, withError error: AFError)
`
request(_:didCreateURLRequest:)
` Default implementation
Event called when a final URLRequest is created for a Request.
Swift
func request(_ request: Request, didCreateURLRequest urlRequest: URLRequest)
`
request(_:didCreateTask:)
` Default implementation
Event called when a URLSessionTask subclass instance is created for a Request.
Swift
func request(_ request: Request, didCreateTask task: URLSessionTask)
`
request(_:didGatherMetrics:)
` Default implementation
Event called when a Request receives a URLSessionTaskMetrics value.
Swift
func request(_ request: Request, didGatherMetrics metrics: URLSessionTaskMetrics)
`
request(_:didFailTask:earlyWithError:)
` Default implementation
Event called when a Request fails due to an error created by Alamofire. e.g. When certificate pinning fails.
Swift
func request(_ request: Request, didFailTask task: URLSessionTask, earlyWithError error: AFError)
`
request(_:didCompleteTask:with:)
` Default implementation
Event called when a Request‘s task completes, possibly with an error. A Request may receive this event multiple times if it is retried.
Swift
func request(_ request: Request, didCompleteTask task: URLSessionTask, with error: AFError?)
`
requestIsRetrying(_:)
` Default implementation
Event called when a Request is about to be retried.
Swift
func requestIsRetrying(_ request: Request)
`
requestDidFinish(_:)
` Default implementation
Event called when a Request finishes and response serializers are being called.
Swift
func requestDidFinish(_ request: Request)
`
requestDidResume(_:)
` Default implementation
Event called when a Request receives a resume call.
Swift
func requestDidResume(_ request: Request)
`
request(_:didResumeTask:)
` Default implementation
Event called when a Request‘s associated URLSessionTask is resumed.
Swift
func request(_ request: Request, didResumeTask task: URLSessionTask)
`
requestDidSuspend(_:)
` Default implementation
Event called when a Request receives a suspend call.
Swift
func requestDidSuspend(_ request: Request)
`
request(_:didSuspendTask:)
` Default implementation
Event called when a Request‘s associated URLSessionTask is suspended.
Swift
func request(_ request: Request, didSuspendTask task: URLSessionTask)
`
requestDidCancel(_:)
` Default implementation
Event called when a Request receives a cancel call.
Swift
func requestDidCancel(_ request: Request)
`
request(_:didCancelTask:)
` Default implementation
Event called when a Request‘s associated URLSessionTask is cancelled.
Swift
func request(_ request: Request, didCancelTask task: URLSessionTask)
`
request(_:didValidateRequest:response:data:withResult:)
` Default implementation
Event called when a DataRequest calls a Validation.
Swift
func request(_ request: DataRequest,
didValidateRequest urlRequest: URLRequest?,
response: HTTPURLResponse,
data: Data?,
withResult result: Request.ValidationResult)
`
request(_:didParseResponse:)
` Default implementation
Event called when a DataRequest creates a DataResponse<Data?> value without calling a ResponseSerializer.
Swift
func request(_ request: DataRequest, didParseResponse response: DataResponse<Data?, AFError>)
`
request(_:didParseResponse:)
` Default implementation
Event called when a DataRequest calls a ResponseSerializer and creates a generic DataResponse<Value, AFError>.
Swift
func request<Value>(_ request: DataRequest, didParseResponse response: DataResponse<Value, AFError>) where Value : Sendable
`
request(_:didValidateRequest:response:withResult:)
` Default implementation
Event called when a DataStreamRequest calls a Validation closure.
Swift
func request(_ request: DataStreamRequest,
didValidateRequest urlRequest: URLRequest?,
response: HTTPURLResponse,
withResult result: Request.ValidationResult)
| request |
DataStreamRequest which is calling the Validation.
|
| urlRequest |
URLRequest of the request being validated.
|
| response |
HTTPURLResponse of the request being validated.
|
| result |
Produced ValidationResult.
|
`
request(_:didParseStream:)
` Default implementation
Event called when a DataStreamSerializer produces a value from streamed Data.
Swift
func request<Value>(_ request: DataStreamRequest, didParseStream result: Result<Value, AFError>) where Value : Sendable
| request |
DataStreamRequest for which the value was serialized.
|
| result |
Result of the serialization attempt.
|
`
request(_:didCreateUploadable:)
` Default implementation
Event called when an UploadRequest creates its Uploadable value, indicating the type of upload it represents.
Swift
func request(_ request: UploadRequest, didCreateUploadable uploadable: UploadRequest.Uploadable)
`
request(_:didFailToCreateUploadableWithError:)
` Default implementation
Event called when an UploadRequest failed to create its Uploadable value due to an error.
Swift
func request(_ request: UploadRequest, didFailToCreateUploadableWithError error: AFError)
`
request(_:didProvideInputStream:)
` Default implementation
Event called when an UploadRequest provides the InputStream from its Uploadable value. This only occurs if the InputStream does not wrap a Data value or file URL.
Swift
func request(_ request: UploadRequest, didProvideInputStream stream: InputStream)
`
request(_:didFinishDownloadingUsing:with:)
` Default implementation
Event called when a DownloadRequest‘s URLSessionDownloadTask finishes and the temporary file has been moved.
Swift
func request(_ request: DownloadRequest, didFinishDownloadingUsing task: URLSessionTask, with result: Result<URL, AFError>)
`
request(_:didCreateDestinationURL:)
` Default implementation
Event called when a DownloadRequest‘s Destination closure is called and creates the destination URL the downloaded file will be moved to.
Swift
func request(_ request: DownloadRequest, didCreateDestinationURL url: URL)
`
request(_:didValidateRequest:response:fileURL:withResult:)
` Default implementation
Event called when a DownloadRequest calls a Validation.
Swift
func request(_ request: DownloadRequest,
didValidateRequest urlRequest: URLRequest?,
response: HTTPURLResponse,
fileURL: URL?,
withResult result: Request.ValidationResult)
`
request(_:didParseResponse:)
` Default implementation
Event called when a DownloadRequest creates a DownloadResponse<URL?, AFError> without calling a ResponseSerializer.
Swift
func request(_ request: DownloadRequest, didParseResponse response: DownloadResponse<URL?, AFError>)
`
request(_:didParseResponse:)
` Default implementation
Event called when a DownloadRequest calls a DownloadResponseSerializer and creates a generic DownloadResponse<Value, AFError>
Swift
func request<Value>(_ request: DownloadRequest, didParseResponse response: DownloadResponse<Value, AFError>) where Value : Sendable