-
Creates a
DataRequest
usingSession.default
to retrieve the contents of the specifiedurl
using themethod
,parameters
,encoding
, andheaders
provided.Declaration
Swift
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.Return Value
The created
DataRequest
. -
Creates a
DataRequest
usingSession.default
to retrieve the contents of the specifiedurl
using themethod
,parameters
,encoding
, andheaders
provided.Declaration
Swift
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.Return Value
The created
DataRequest
. -
Creates a
DataRequest
usingSession.default
to execute the specifiedurlRequest
.Declaration
Swift
public static func request(_ urlRequest: URLRequestConvertible, interceptor: RequestInterceptor? = nil) -> DataRequest
Parameters
urlRequest
The
URLRequestConvertible
value.interceptor
The
RequestInterceptor
,nil
by default.Return Value
The created
DataRequest
.
-
Creates a
DownloadRequest
usingSession.default
to download the contents of the specifiedurl
to the provideddestination
using themethod
,parameters
,encoding
, andheaders
provided.If
destination
is not specified, the download will be moved to a temporary location determined by Alamofire.Declaration
Swift
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
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.Return Value
The created
DownloadRequest
. -
Creates a
DownloadRequest
usingSession.default
to download the contents of the specifiedurl
to the provideddestination
using themethod
, encodableparameters
,encoder
, andheaders
provided.Note
If
destination
is not specified, the download will be moved to a temporary location determined by Alamofire.Declaration
Swift
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.Return Value
The created
DownloadRequest
.
-
Creates a
DownloadRequest
usingSession.default
to execute the specifiedurlRequest
and download the result to the provideddestination
.Declaration
Swift
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.Return Value
The created
DownloadRequest
.
-
Creates a
DownloadRequest
using theSession.default
from theresumeData
produced from a previousDownloadRequest
cancellation to retrieve the contents of the original request and save them to thedestination
.Note
If
destination
is not specified, the download will be moved to a temporary location determined by Alamofire.Note
On some versions of all Apple platforms (iOS 10 - 10.2, macOS 10.12 - 10.12.2, tvOS 10 - 10.1, watchOS 3 - 3.1.1),
resumeData
is broken on background URL session configurations. There’s an underlying bug in theresumeData
generation logic where the data is written incorrectly and will always fail to resume the download. For more information about the bug and possible workarounds, please refer to the this Stack Overflow post.Declaration
Swift
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 byURLSessionDownloadTask
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.Return Value
The created
DownloadRequest
.
-
Creates an
UploadRequest
for the givenData
,URLRequest
components, andRequestInterceptor
.Declaration
Swift
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 theURLRequest
‘sURL
.method
HTTPMethod
for theURLRequest
..post
by default.headers
HTTPHeaders
value to be added to theURLRequest
.nil
by default.interceptor
RequestInterceptor
value to be used by the returnedDataRequest
.nil
by default.fileManager
FileManager
instance to be used by the returnedUploadRequest
..default
instance by default.Return Value
The created
UploadRequest
. -
Creates an
UploadRequest
for the givenData
using theURLRequestConvertible
value andRequestInterceptor
.Declaration
Swift
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 theURLRequest
.interceptor
RequestInterceptor
value to be used by the returnedDataRequest
.nil
by default.fileManager
FileManager
instance to be used by the returnedUploadRequest
..default
instance by default.Return Value
The created
UploadRequest
.
-
Creates an
UploadRequest
for the file at the given fileURL
, using aURLRequest
from the provided components andRequestInterceptor
.Declaration
Swift
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 theURLRequest
‘sURL
.method
HTTPMethod
for theURLRequest
..post
by default.headers
HTTPHeaders
value to be added to theURLRequest
.nil
by default.interceptor
RequestInterceptor
value to be used by the returnedUploadRequest
.nil
by default.fileManager
FileManager
instance to be used by the returnedUploadRequest
..default
instance by default.Return Value
The created
UploadRequest
. -
Creates an
UploadRequest
for the file at the given fileURL
using theURLRequestConvertible
value andRequestInterceptor
.Declaration
Swift
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 theURLRequest
.interceptor
RequestInterceptor
value to be used by the returnedDataRequest
.nil
by default.fileManager
FileManager
instance to be used by the returnedUploadRequest
..default
instance by default.Return Value
The created
UploadRequest
.
-
Creates an
UploadRequest
from theInputStream
provided using aURLRequest
from the provided components andRequestInterceptor
.Declaration
Swift
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 theURLRequest
‘sURL
.method
HTTPMethod
for theURLRequest
..post
by default.headers
HTTPHeaders
value to be added to theURLRequest
.nil
by default.interceptor
RequestInterceptor
value to be used by the returnedDataRequest
.nil
by default.fileManager
FileManager
instance to be used by the returnedUploadRequest
..default
instance by default.Return Value
The created
UploadRequest
. -
Creates an
UploadRequest
from the providedInputStream
using theURLRequestConvertible
value andRequestInterceptor
.Declaration
Swift
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 theURLRequest
.interceptor
RequestInterceptor
value to be used by the returnedDataRequest
.nil
by default.fileManager
FileManager
instance to be used by the returnedUploadRequest
..default
instance by default.Return Value
The created
UploadRequest
.
-
Creates an
UploadRequest
for the multipart form data built using a closure and sent using the providedURLRequest
components andRequestInterceptor
.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 theMultipartFormData
is below theencodingMemoryThreshold
, 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.Declaration
Swift
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
Parameters
multipartFormData
MultipartFormData
building closure.convertible
URLConvertible
value to be used as theURLRequest
‘sURL
.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 theURLRequest
..post
by default.headers
HTTPHeaders
value to be added to theURLRequest
.nil
by default.interceptor
RequestInterceptor
value to be used by the returnedDataRequest
.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.Return Value
The created
UploadRequest
. -
Creates an
UploadRequest
using aMultipartFormData
building closure, the providedURLRequestConvertible
value, and aRequestInterceptor
.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 theMultipartFormData
is below theencodingMemoryThreshold
, 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.Declaration
Swift
public static func upload(multipartFormData: @escaping (MultipartFormData) -> Void, with request: URLRequestConvertible, usingThreshold encodingMemoryThreshold: UInt64 = MultipartFormData.encodingMemoryThreshold, interceptor: RequestInterceptor? = nil, fileManager: FileManager = .default) -> UploadRequest
Parameters
multipartFormData
MultipartFormData
building closure.request
URLRequestConvertible
value to be used to create theURLRequest
.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 returnedDataRequest
.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.Return Value
The created
UploadRequest
. -
Creates an
UploadRequest
for the prebuiltMultipartFormData
value using the providedURLRequest
components andRequestInterceptor
.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 theMultipartFormData
is below theencodingMemoryThreshold
, 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.Declaration
Swift
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
Parameters
multipartFormData
MultipartFormData
instance to upload.url
URLConvertible
value to be used as theURLRequest
‘sURL
.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 theURLRequest
..post
by default.headers
HTTPHeaders
value to be added to theURLRequest
.nil
by default.interceptor
RequestInterceptor
value to be used by the returnedDataRequest
.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.Return Value
The created
UploadRequest
. -
Creates an
UploadRequest
for the prebuiltMultipartFormData
value using the providingURLRequestConvertible
value andRequestInterceptor
.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 theMultipartFormData
is below theencodingMemoryThreshold
, 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.Declaration
Swift
public static func upload(multipartFormData: MultipartFormData, with request: URLRequestConvertible, usingThreshold encodingMemoryThreshold: UInt64 = MultipartFormData.encodingMemoryThreshold, interceptor: RequestInterceptor? = nil, fileManager: FileManager = .default) -> UploadRequest
Parameters
multipartFormData
MultipartFormData
instance to upload.request
URLRequestConvertible
value to be used to create theURLRequest
.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 returnedDataRequest
.nil
by default.fileManager
FileManager
instance to be used by the returnedUploadRequest
..default
instance by default.Return Value
The created
UploadRequest
.