Skip to content
This repository has been archived by the owner on Oct 17, 2021. It is now read-only.
mattt edited this page Sep 18, 2020 · 2 revisions

AF

Global namespace containing API for the default Session instance.

public enum AF

Methods

request(_:​method:​parameters:​encoding:​headers:​interceptor:​)

Creates a DataRequest using Session.default to retrieve the contents of the specified url using the method, parameters, encoding, and headers provided.

public static func request(_ url:​ URLConvertible, method:​ HTTPMethod = .get, parameters:​ Parameters? = nil, encoding:​ ParameterEncoding = URLEncoding.default, headers:​ HTTPHeaders? = nil, interceptor:​ RequestInterceptor? = nil) -> DataRequest

Parameters

  • url:​ The URLConvertible value.
  • method:​ The HTTPMethod, .get by default.
  • parameters:​ The Parameters, nil by default.
  • encoding:​ The ParameterEncoding, URLEncoding.default by default.
  • headers:​ The HTTPHeaders, nil by default.
  • interceptor:​ The RequestInterceptor, nil by default.

Returns

The created DataRequest.

request(_:​method:​parameters:​encoder:​headers:​interceptor:​)

Creates a DataRequest using Session.default to retrieve the contents of the specified url using the method, parameters, encoding, and headers provided.

public static func request<Parameters:​ Encodable>(_ url:​ URLConvertible, method:​ HTTPMethod = .get, parameters:​ Parameters? = nil, encoder:​ ParameterEncoder = URLEncodedFormParameterEncoder.default, headers:​ HTTPHeaders? = nil, interceptor:​ RequestInterceptor? = nil) -> DataRequest

Parameters

  • url:​ The URLConvertible value.
  • method:​ The HTTPMethod, .get by default.
  • parameters:​ The Encodable parameters, nil by default.
  • encoding:​ The ParameterEncoder, URLEncodedFormParameterEncoder.default by default.
  • headers:​ The HTTPHeaders, nil by default.
  • interceptor:​ The RequestInterceptor, nil by default.

Returns

The created DataRequest.

request(_:​interceptor:​)

Creates a DataRequest using Session.default to execute the specified urlRequest.

public static func request(_ urlRequest:​ URLRequestConvertible, interceptor:​ RequestInterceptor? = nil) -> DataRequest

Parameters

  • urlRequest:​ The URLRequestConvertible value.
  • interceptor:​ The RequestInterceptor, nil by default.

Returns

The created DataRequest.

download(_:​method:​parameters:​encoding:​headers:​interceptor:​to:​)

Creates a DownloadRequest using Session.default to download the contents of the specified url to the provided destination using the method, parameters, encoding, and headers provided.

public static func download(_ url:​ URLConvertible, method:​ HTTPMethod = .get, parameters:​ Parameters? = nil, encoding:​ ParameterEncoding = URLEncoding.default, headers:​ HTTPHeaders? = nil, interceptor:​ RequestInterceptor? = nil, to destination:​ DownloadRequest.Destination? = nil) -> DownloadRequest

If destination is not specified, the download will be moved to a temporary location determined by Alamofire.

Parameters

  • url:​ The URLConvertible value.
  • method:​ The HTTPMethod, .get by default.
  • parameters:​ The Parameters, nil by default.
  • encoding:​ The ParameterEncoding, URLEncoding.default by default.
  • headers:​ The HTTPHeaders, nil by default.
  • interceptor:​ The RequestInterceptor, nil by default.
  • destination:​ The DownloadRequest.Destination closure used the determine the destination of the downloaded file. nil by default.

Returns

The created DownloadRequest.

download(_:​method:​parameters:​encoder:​headers:​interceptor:​to:​)

Creates a DownloadRequest using Session.default to download the contents of the specified url to the provided destination using the method, encodable parameters, encoder, and headers provided.

public static func download<Parameters:​ Encodable>(_ url:​ URLConvertible, method:​ HTTPMethod = .get, parameters:​ Parameters? = nil, encoder:​ ParameterEncoder = URLEncodedFormParameterEncoder.default, headers:​ HTTPHeaders? = nil, interceptor:​ RequestInterceptor? = nil, to destination:​ DownloadRequest.Destination? = nil) -> DownloadRequest

Parameters

  • url:​ The URLConvertible value.
  • method:​ The HTTPMethod, .get by default.
  • parameters:​ The Encodable parameters, nil by default.
  • encoder:​ The ParameterEncoder, URLEncodedFormParameterEncoder.default by default.
  • headers:​ The HTTPHeaders, nil by default.
  • interceptor:​ The RequestInterceptor, nil by default.
  • destination:​ The DownloadRequest.Destination closure used the determine the destination of the downloaded file. nil by default.

Returns

The created DownloadRequest.

download(_:​interceptor:​to:​)

Creates a DownloadRequest using Session.default to execute the specified urlRequest and download the result to the provided destination.

public static func download(_ urlRequest:​ URLRequestConvertible, interceptor:​ RequestInterceptor? = nil, to destination:​ DownloadRequest.Destination? = nil) -> DownloadRequest

Parameters

  • urlRequest:​ The URLRequestConvertible value.
  • interceptor:​ The RequestInterceptor, nil by default.
  • destination:​ The DownloadRequest.Destination closure used the determine the destination of the downloaded file. nil by default.

Returns

The created DownloadRequest.

download(resumingWith:​interceptor:​to:​)

Creates a DownloadRequest using the Session.default from the resumeData produced from a previous DownloadRequest cancellation to retrieve the contents of the original request and save them to the destination.

public static func download(resumingWith resumeData:​ Data, interceptor:​ RequestInterceptor? = nil, to destination:​ DownloadRequest.Destination? = nil) -> DownloadRequest

Parameters

  • resumeData:​ The resume Data. This is an opaque blob produced by URLSessionDownloadTask when a task is cancelled. See Apple's documentation for more information.
  • interceptor:​ The RequestInterceptor, nil by default.
  • destination:​ The DownloadRequest.Destination closure used to determine the destination of the downloaded file. nil by default.

Returns

The created DownloadRequest.

upload(_:​to:​method:​headers:​interceptor:​fileManager:​)

Creates an UploadRequest for the given Data, URLRequest components, and RequestInterceptor.

public static func upload(_ data:​ Data, to convertible:​ URLConvertible, method:​ HTTPMethod = .post, headers:​ HTTPHeaders? = nil, interceptor:​ RequestInterceptor? = nil, fileManager:​ FileManager = .default) -> UploadRequest

Parameters

  • data:​ The Data to upload.
  • convertible:​ URLConvertible value to be used as the URLRequest's URL.
  • method:​ HTTPMethod for the URLRequest. .post by default.
  • headers:​ HTTPHeaders value to be added to the URLRequest. nil by default.
  • interceptor:​ RequestInterceptor value to be used by the returned DataRequest. nil by default.
  • fileManager:​ FileManager instance to be used by the returned UploadRequest. .default instance by default.

Returns

The created UploadRequest.

upload(_:​with:​interceptor:​fileManager:​)

Creates an UploadRequest for the given Data using the URLRequestConvertible value and RequestInterceptor.

public static func upload(_ data:​ Data, with convertible:​ URLRequestConvertible, interceptor:​ RequestInterceptor? = nil, fileManager:​ FileManager = .default) -> UploadRequest

Parameters

  • data:​ The Data to upload.
  • convertible:​ URLRequestConvertible value to be used to create the URLRequest.
  • interceptor:​ RequestInterceptor value to be used by the returned DataRequest. nil by default.
  • fileManager:​ FileManager instance to be used by the returned UploadRequest. .default instance by default.

Returns

The created UploadRequest.

upload(_:​to:​method:​headers:​interceptor:​fileManager:​)

Creates an UploadRequest for the file at the given file URL, using a URLRequest from the provided components and RequestInterceptor.

public static func upload(_ fileURL:​ URL, to convertible:​ URLConvertible, method:​ HTTPMethod = .post, headers:​ HTTPHeaders? = nil, interceptor:​ RequestInterceptor? = nil, fileManager:​ FileManager = .default) -> UploadRequest

Parameters

  • fileURL:​ The URL of the file to upload.
  • convertible:​ URLConvertible value to be used as the URLRequest's URL.
  • method:​ HTTPMethod for the URLRequest. .post by default.
  • headers:​ HTTPHeaders value to be added to the URLRequest. nil by default.
  • interceptor:​ RequestInterceptor value to be used by the returned UploadRequest. nil by default.
  • fileManager:​ FileManager instance to be used by the returned UploadRequest. .default instance by default.

Returns

The created UploadRequest.

upload(_:​with:​interceptor:​fileManager:​)

Creates an UploadRequest for the file at the given file URL using the URLRequestConvertible value and RequestInterceptor.

public static func upload(_ fileURL:​ URL, with convertible:​ URLRequestConvertible, interceptor:​ RequestInterceptor? = nil, fileManager:​ FileManager = .default) -> UploadRequest

Parameters

  • fileURL:​ The URL of the file to upload.
  • convertible:​ URLRequestConvertible value to be used to create the URLRequest.
  • interceptor:​ RequestInterceptor value to be used by the returned DataRequest. nil by default.
  • fileManager:​ FileManager instance to be used by the returned UploadRequest. .default instance by default.

Returns

The created UploadRequest.

upload(_:​to:​method:​headers:​interceptor:​fileManager:​)

Creates an UploadRequest from the InputStream provided using a URLRequest from the provided components and RequestInterceptor.

public static func upload(_ stream:​ InputStream, to convertible:​ URLConvertible, method:​ HTTPMethod = .post, headers:​ HTTPHeaders? = nil, interceptor:​ RequestInterceptor? = nil, fileManager:​ FileManager = .default) -> UploadRequest

Parameters

  • stream:​ The InputStream that provides the data to upload.
  • convertible:​ URLConvertible value to be used as the URLRequest's URL.
  • method:​ HTTPMethod for the URLRequest. .post by default.
  • headers:​ HTTPHeaders value to be added to the URLRequest. nil by default.
  • interceptor:​ RequestInterceptor value to be used by the returned DataRequest. nil by default.
  • fileManager:​ FileManager instance to be used by the returned UploadRequest. .default instance by default.

Returns

The created UploadRequest.

upload(_:​with:​interceptor:​fileManager:​)

Creates an UploadRequest from the provided InputStream using the URLRequestConvertible value and RequestInterceptor.

public static func upload(_ stream:​ InputStream, with convertible:​ URLRequestConvertible, interceptor:​ RequestInterceptor? = nil, fileManager:​ FileManager = .default) -> UploadRequest

Parameters

  • stream:​ The InputStream that provides the data to upload.
  • convertible:​ URLRequestConvertible value to be used to create the URLRequest.
  • interceptor:​ RequestInterceptor value to be used by the returned DataRequest. nil by default.
  • fileManager:​ FileManager instance to be used by the returned UploadRequest. .default instance by default.

Returns

The created UploadRequest.

upload(multipartFormData:​to:​usingThreshold:​method:​headers:​interceptor:​fileManager:​)

Creates an UploadRequest for the multipart form data built using a closure and sent using the provided URLRequest components and RequestInterceptor.

public static func upload(multipartFormData:@escaping (MultipartFormData) -> Void, to url:​ URLConvertible, usingThreshold encodingMemoryThreshold:​ UInt64 = MultipartFormData.encodingMemoryThreshold, method:​ HTTPMethod = .post, headers:​ HTTPHeaders? = nil, interceptor:​ RequestInterceptor? = nil, fileManager:​ FileManager = .default) -> UploadRequest

It is important to understand the memory implications of uploading MultipartFormData. If the cumulative payload is small, encoding the data in-memory and directly uploading to a server is the by far the most efficient approach. However, if the payload is too large, encoding the data in-memory could cause your app to be terminated. Larger payloads must first be written to disk using input and output streams to keep the memory footprint low, then the data can be uploaded as a stream from the resulting file. Streaming from disk MUST be used for larger payloads such as video content.

The encodingMemoryThreshold parameter allows Alamofire to automatically determine whether to encode in-memory or stream from disk. If the content length of the MultipartFormData is below the encodingMemoryThreshold, encoding takes place in-memory. If the content length exceeds the threshold, the data is streamed to disk during the encoding process. Then the result is uploaded as data or as a stream depending on which encoding technique was used.

Parameters

  • multipartFormData:​ MultipartFormData building closure.
  • convertible:​ URLConvertible value to be used as the URLRequest's URL.
  • encodingMemoryThreshold:​ Byte threshold used to determine whether the form data is encoded into memory or onto disk before being uploaded. MultipartFormData.encodingMemoryThreshold by default.
  • method:​ HTTPMethod for the URLRequest. .post by default.
  • headers:​ HTTPHeaders value to be added to the URLRequest. nil by default.
  • interceptor:​ RequestInterceptor value to be used by the returned DataRequest. nil by default.
  • fileManager:​ FileManager to be used if the form data exceeds the memory threshold and is written to disk before being uploaded. .default instance by default.

Returns

The created UploadRequest.

upload(multipartFormData:​with:​usingThreshold:​interceptor:​fileManager:​)

Creates an UploadRequest using a MultipartFormData building closure, the provided URLRequestConvertible value, and a RequestInterceptor.

public static func upload(multipartFormData:@escaping (MultipartFormData) -> Void, with request:​ URLRequestConvertible, usingThreshold encodingMemoryThreshold:​ UInt64 = MultipartFormData.encodingMemoryThreshold, interceptor:​ RequestInterceptor? = nil, fileManager:​ FileManager = .default) -> UploadRequest

It is important to understand the memory implications of uploading MultipartFormData. If the cumulative payload is small, encoding the data in-memory and directly uploading to a server is the by far the most efficient approach. However, if the payload is too large, encoding the data in-memory could cause your app to be terminated. Larger payloads must first be written to disk using input and output streams to keep the memory footprint low, then the data can be uploaded as a stream from the resulting file. Streaming from disk MUST be used for larger payloads such as video content.

The encodingMemoryThreshold parameter allows Alamofire to automatically determine whether to encode in-memory or stream from disk. If the content length of the MultipartFormData is below the encodingMemoryThreshold, encoding takes place in-memory. If the content length exceeds the threshold, the data is streamed to disk during the encoding process. Then the result is uploaded as data or as a stream depending on which encoding technique was used.

Parameters

  • multipartFormData:​ MultipartFormData building closure.
  • request:​ URLRequestConvertible value to be used to create the URLRequest.
  • encodingMemoryThreshold:​ Byte threshold used to determine whether the form data is encoded into memory or onto disk before being uploaded. MultipartFormData.encodingMemoryThreshold by default.
  • interceptor:​ RequestInterceptor value to be used by the returned DataRequest. nil by default.
  • fileManager:​ FileManager to be used if the form data exceeds the memory threshold and is written to disk before being uploaded. .default instance by default.

Returns

The created UploadRequest.

upload(multipartFormData:​to:​usingThreshold:​method:​headers:​interceptor:​fileManager:​)

Creates an UploadRequest for the prebuilt MultipartFormData value using the provided URLRequest components and RequestInterceptor.

public static func upload(multipartFormData:​ MultipartFormData, to url:​ URLConvertible, usingThreshold encodingMemoryThreshold:​ UInt64 = MultipartFormData.encodingMemoryThreshold, method:​ HTTPMethod = .post, headers:​ HTTPHeaders? = nil, interceptor:​ RequestInterceptor? = nil, fileManager:​ FileManager = .default) -> UploadRequest

It is important to understand the memory implications of uploading MultipartFormData. If the cumulative payload is small, encoding the data in-memory and directly uploading to a server is the by far the most efficient approach. However, if the payload is too large, encoding the data in-memory could cause your app to be terminated. Larger payloads must first be written to disk using input and output streams to keep the memory footprint low, then the data can be uploaded as a stream from the resulting file. Streaming from disk MUST be used for larger payloads such as video content.

The encodingMemoryThreshold parameter allows Alamofire to automatically determine whether to encode in-memory or stream from disk. If the content length of the MultipartFormData is below the encodingMemoryThreshold, encoding takes place in-memory. If the content length exceeds the threshold, the data is streamed to disk during the encoding process. Then the result is uploaded as data or as a stream depending on which encoding technique was used.

Parameters

  • multipartFormData:​ MultipartFormData instance to upload.
  • url:​ URLConvertible value to be used as the URLRequest's URL.
  • encodingMemoryThreshold:​ Byte threshold used to determine whether the form data is encoded into memory or onto disk before being uploaded. MultipartFormData.encodingMemoryThreshold by default.
  • method:​ HTTPMethod for the URLRequest. .post by default.
  • headers:​ HTTPHeaders value to be added to the URLRequest. nil by default.
  • interceptor:​ RequestInterceptor value to be used by the returned DataRequest. nil by default.
  • fileManager:​ FileManager to be used if the form data exceeds the memory threshold and is written to disk before being uploaded. .default instance by default.

Returns

The created UploadRequest.

upload(multipartFormData:​with:​usingThreshold:​interceptor:​fileManager:​)

Creates an UploadRequest for the prebuilt MultipartFormData value using the providing URLRequestConvertible value and RequestInterceptor.

public static func upload(multipartFormData:​ MultipartFormData, with request:​ URLRequestConvertible, usingThreshold encodingMemoryThreshold:​ UInt64 = MultipartFormData.encodingMemoryThreshold, interceptor:​ RequestInterceptor? = nil, fileManager:​ FileManager = .default) -> UploadRequest

It is important to understand the memory implications of uploading MultipartFormData. If the cumulative payload is small, encoding the data in-memory and directly uploading to a server is the by far the most efficient approach. However, if the payload is too large, encoding the data in-memory could cause your app to be terminated. Larger payloads must first be written to disk using input and output streams to keep the memory footprint low, then the data can be uploaded as a stream from the resulting file. Streaming from disk MUST be used for larger payloads such as video content.

The encodingMemoryThreshold parameter allows Alamofire to automatically determine whether to encode in-memory or stream from disk. If the content length of the MultipartFormData is below the encodingMemoryThreshold, encoding takes place in-memory. If the content length exceeds the threshold, the data is streamed to disk during the encoding process. Then the result is uploaded as data or as a stream depending on which encoding technique was used.

Parameters

  • multipartFormData:​ MultipartFormData instance to upload.
  • request:​ URLRequestConvertible value to be used to create the URLRequest.
  • encodingMemoryThreshold:​ Byte threshold used to determine whether the form data is encoded into memory or onto disk before being uploaded. MultipartFormData.encodingMemoryThreshold by default.
  • interceptor:​ RequestInterceptor value to be used by the returned DataRequest. nil by default.
  • fileManager:​ FileManager instance to be used by the returned UploadRequest. .default instance by default.

Returns

The created UploadRequest.

Types
Protocols
Global Typealiases
Clone this wiki locally