Back to Alamofire

EventMonitor

docs/docsets/Alamofire.docset/Contents/Resources/Documents/Protocols/EventMonitor.html

5.12.018.2 KB
Original Source

EventMonitor

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.

Default Implementation

The default queue on which CompositeEventMonitors will call the EventMonitor methods. .main by default.

Declaration

Swift

var queue: DispatchQueue { get }

URLSessionDelegate Events

`

                urlSession(_:didBecomeInvalidWithError:)
                ` Default implementation 

Event called during URLSessionDelegate‘s urlSession(_:didBecomeInvalidWithError:) method.

Default Implementation

Declaration

Swift

func urlSession(_ session: URLSession, didBecomeInvalidWithError error: (any Error)?)

URLSessionTaskDelegate Events

`

                urlSession(_:task:didReceive:)
                ` Default implementation 

Event called during URLSessionTaskDelegate‘s urlSession(_:task:didReceive:completionHandler:) method.

Default Implementation

Declaration

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.

Default Implementation

Declaration

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.

Default Implementation

Declaration

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.

Default Implementation

Declaration

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.

Default Implementation

Declaration

Swift

func urlSession(_ session: URLSession, task: URLSessionTask, didFinishCollecting metrics: URLSessionTaskMetrics)

`

                urlSession(_:task:didCompleteWithError:)
                ` Default implementation 

Event called during URLSessionTaskDelegate‘s urlSession(_:task:didCompleteWithError:) method.

Default Implementation

Declaration

Swift

func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: (any Error)?)

`

                urlSession(_:taskIsWaitingForConnectivity:)
                ` Default implementation 

Event called during URLSessionTaskDelegate‘s urlSession(_:taskIsWaitingForConnectivity:) method.

Default Implementation

Declaration

Swift

func urlSession(_ session: URLSession, taskIsWaitingForConnectivity task: URLSessionTask)

URLSessionDataDelegate Events

`

                urlSession(_:dataTask:didReceive:)
                ` Default implementation 

Event called during URLSessionDataDelegate‘s urlSession(_:dataTask:didReceive:completionHandler:) method.

Default Implementation

Declaration

Swift

func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse)

`

                urlSession(_:dataTask:didReceive:)
                ` Default implementation 

Event called during URLSessionDataDelegate‘s urlSession(_:dataTask:didReceive:) method.

Default Implementation

Declaration

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.

Default Implementation

Declaration

Swift

func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, willCacheResponse proposedResponse: CachedURLResponse)

URLSessionDownloadDelegate Events

`

                urlSession(_:downloadTask:didResumeAtOffset:expectedTotalBytes:)
                ` Default implementation 

Event called during URLSessionDownloadDelegate‘s urlSession(_:downloadTask:didResumeAtOffset:expectedTotalBytes:) method.

Default Implementation

Declaration

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.

Default Implementation

Declaration

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.

Default Implementation

Declaration

Swift

func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL)

Request Events

`

                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.

Default Implementation

Declaration

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.

Default Implementation

Declaration

Swift

func request(_ request: Request, didFailToCreateURLRequestWithError error: AFError)

`

                request(_:didAdaptInitialRequest:to:)
                ` Default implementation 

Event called when a RequestAdapter adapts the Request‘s initial URLRequest.

Default Implementation

Declaration

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.

Default Implementation

Declaration

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.

Default Implementation

Declaration

Swift

func request(_ request: Request, didCreateURLRequest urlRequest: URLRequest)

`

                request(_:didCreateTask:)
                ` Default implementation 

Event called when a URLSessionTask subclass instance is created for a Request.

Default Implementation

Declaration

Swift

func request(_ request: Request, didCreateTask task: URLSessionTask)

`

                request(_:didGatherMetrics:)
                ` Default implementation 

Event called when a Request receives a URLSessionTaskMetrics value.

Default Implementation

Declaration

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.

Default Implementation

Declaration

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.

Default Implementation

Declaration

Swift

func request(_ request: Request, didCompleteTask task: URLSessionTask, with error: AFError?)

`

                requestIsRetrying(_:)
                ` Default implementation 

Event called when a Request is about to be retried.

Default Implementation

Declaration

Swift

func requestIsRetrying(_ request: Request)

`

                requestDidFinish(_:)
                ` Default implementation 

Event called when a Request finishes and response serializers are being called.

Default Implementation

Declaration

Swift

func requestDidFinish(_ request: Request)

`

                requestDidResume(_:)
                ` Default implementation 

Event called when a Request receives a resume call.

Default Implementation

Declaration

Swift

func requestDidResume(_ request: Request)

`

                request(_:didResumeTask:)
                ` Default implementation 

Event called when a Request‘s associated URLSessionTask is resumed.

Default Implementation

Declaration

Swift

func request(_ request: Request, didResumeTask task: URLSessionTask)

`

                requestDidSuspend(_:)
                ` Default implementation 

Event called when a Request receives a suspend call.

Default Implementation

Declaration

Swift

func requestDidSuspend(_ request: Request)

`

                request(_:didSuspendTask:)
                ` Default implementation 

Event called when a Request‘s associated URLSessionTask is suspended.

Default Implementation

Declaration

Swift

func request(_ request: Request, didSuspendTask task: URLSessionTask)

`

                requestDidCancel(_:)
                ` Default implementation 

Event called when a Request receives a cancel call.

Default Implementation

Declaration

Swift

func requestDidCancel(_ request: Request)

`

                request(_:didCancelTask:)
                ` Default implementation 

Event called when a Request‘s associated URLSessionTask is cancelled.

Default Implementation

Declaration

Swift

func request(_ request: Request, didCancelTask task: URLSessionTask)

DataRequest Events

`

                request(_:didValidateRequest:response:data:withResult:)
                ` Default implementation 

Event called when a DataRequest calls a Validation.

Default Implementation

Declaration

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.

Default Implementation

Declaration

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>.

Default Implementation

Declaration

Swift

func request<Value>(_ request: DataRequest, didParseResponse response: DataResponse<Value, AFError>) where Value : Sendable

DataStreamRequest Events

`

                request(_:didValidateRequest:response:withResult:)
                ` Default implementation 

Event called when a DataStreamRequest calls a Validation closure.

Default Implementation

Declaration

Swift

func request(_ request: DataStreamRequest,
             didValidateRequest urlRequest: URLRequest?,
             response: HTTPURLResponse,
             withResult result: Request.ValidationResult)

Parameters

| 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.

Default Implementation

Declaration

Swift

func request<Value>(_ request: DataStreamRequest, didParseStream result: Result<Value, AFError>) where Value : Sendable

Parameters

| request |

DataStreamRequest for which the value was serialized.

| | result |

Result of the serialization attempt.

|

UploadRequest Events

`

                request(_:didCreateUploadable:)
                ` Default implementation 

Event called when an UploadRequest creates its Uploadable value, indicating the type of upload it represents.

Default Implementation

Declaration

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.

Default Implementation

Declaration

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.

Default Implementation

Declaration

Swift

func request(_ request: UploadRequest, didProvideInputStream stream: InputStream)

DownloadRequest Events

`

                request(_:didFinishDownloadingUsing:with:)
                ` Default implementation 

Event called when a DownloadRequest‘s URLSessionDownloadTask finishes and the temporary file has been moved.

Default Implementation

Declaration

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.

Default Implementation

Declaration

Swift

func request(_ request: DownloadRequest, didCreateDestinationURL url: URL)

`

                request(_:didValidateRequest:response:fileURL:withResult:)
                ` Default implementation 

Event called when a DownloadRequest calls a Validation.

Default Implementation

Declaration

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.

Default Implementation

Declaration

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>

Default Implementation

Declaration

Swift

func request<Value>(_ request: DownloadRequest, didParseResponse response: DownloadResponse<Value, AFError>) where Value : Sendable