Functions
The following functions are available globally.
-
Creates a
DataRequest
using the defaultSessionManager
to retrieve the contents of the specifiedurl
,method
,parameters
,encoding
andheaders
.Declaration
Swift
@discardableResult public func requestWithCachPolicy( _ url: URLConvertible, method: HTTPMethod = .get, parameters: Parameters? = nil, encoding: ParameterEncoding = URLEncoding.default, headers: HTTPHeaders? = nil) -> DataRequest
Parameters
url
The URL.
method
The HTTP method.
.get
by default.parameters
The parameters.
nil
by default.encoding
The parameter encoding.
URLEncoding.default
by default.headers
The HTTP headers.
nil
by default.Return Value
The created
DataRequest
. -
Creates a
DataRequest
using the defaultSessionManager
to retrieve the contents of the specifiedurl
,method
,parameters
,encoding
andheaders
.Declaration
Swift
@discardableResult public func request( _ url: URLConvertible, method: HTTPMethod = .get, parameters: Parameters? = nil, encoding: ParameterEncoding = URLEncoding.default, headers: HTTPHeaders? = nil) -> DataRequest
Parameters
url
The URL.
method
The HTTP method.
.get
by default.parameters
The parameters.
nil
by default.encoding
The parameter encoding.
URLEncoding.default
by default.headers
The HTTP headers.
nil
by default.Return Value
The created
DataRequest
. -
Creates a
DataRequest
using the defaultSessionManager
to retrieve the contents of a URL based on the specifiedurlRequest
.Declaration
Swift
@discardableResult public func request(_ urlRequest: URLRequestConvertible) -> DataRequest
Parameters
urlRequest
The URL request
Return Value
The created
DataRequest
.
-
Creates a
DownloadRequest
using the defaultSessionManager
to retrieve the contents of the specifiedurl
,method
,parameters
,encoding
,headers
and save them to thedestination
.If
destination
is not specified, the contents will remain in the temporary location determined by the underlying URL session.Declaration
Swift
@discardableResult public func download( _ url: URLConvertible, method: HTTPMethod = .get, parameters: Parameters? = nil, encoding: ParameterEncoding = URLEncoding.default, headers: HTTPHeaders? = nil, to destination: DownloadRequest.DownloadFileDestination? = nil) -> DownloadRequest
Parameters
url
The URL.
method
The HTTP method.
.get
by default.parameters
The parameters.
nil
by default.encoding
The parameter encoding.
URLEncoding.default
by default.headers
The HTTP headers.
nil
by default.destination
The closure used to determine the destination of the downloaded file.
nil
by default.Return Value
The created
DownloadRequest
. -
Creates a
DownloadRequest
using the defaultSessionManager
to retrieve the contents of a URL based on the specifiedurlRequest
and save them to thedestination
.If
destination
is not specified, the contents will remain in the temporary location determined by the underlying URL session.Declaration
Swift
@discardableResult public func download( _ urlRequest: URLRequestConvertible, to destination: DownloadRequest.DownloadFileDestination? = nil) -> DownloadRequest
Parameters
urlRequest
The URL request.
destination
The closure used to determine the destination of the downloaded file.
nil
by default.Return Value
The created
DownloadRequest
.
-
Creates a
DownloadRequest
using the defaultSessionManager
from theresumeData
produced from a previous request cancellation to retrieve the contents of the original request and save them to thedestination
.If
destination
is not specified, the contents will remain in the temporary location determined by the underlying URL session.On the latest release of all the Apple platforms (iOS 10, macOS 10.12, tvOS 10, watchOS 3),
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 following Stack Overflow post:Declaration
Swift
@discardableResult public func download( resumingWith resumeData: Data, to destination: DownloadRequest.DownloadFileDestination? = nil) -> DownloadRequest
Parameters
resumeData
The resume data. This is an opaque data blob produced by
URLSessionDownloadTask
when a task is cancelled. SeeURLSession -downloadTask(withResumeData:)
for additional information.destination
The closure used to determine the destination of the downloaded file.
nil
by default.Return Value
The created
DownloadRequest
.
-
Creates an
UploadRequest
using the defaultSessionManager
from the specifiedurl
,method
andheaders
for uploading thefile
.Declaration
Swift
@discardableResult public func upload( _ fileURL: URL, to url: URLConvertible, method: HTTPMethod = .post, headers: HTTPHeaders? = nil) -> UploadRequest
Parameters
file
The file to upload.
url
The URL.
method
The HTTP method.
.post
by default.headers
The HTTP headers.
nil
by default.Return Value
The created
UploadRequest
. -
Creates a
UploadRequest
using the defaultSessionManager
from the specifiedurlRequest
for uploading thefile
.Declaration
Swift
@discardableResult public func upload(_ fileURL: URL, with urlRequest: URLRequestConvertible) -> UploadRequest
Parameters
file
The file to upload.
urlRequest
The URL request.
Return Value
The created
UploadRequest
.
-
Creates an
UploadRequest
using the defaultSessionManager
from the specifiedurl
,method
andheaders
for uploading thedata
.Declaration
Swift
@discardableResult public func upload( _ data: Data, to url: URLConvertible, method: HTTPMethod = .post, headers: HTTPHeaders? = nil) -> UploadRequest
Parameters
data
The data to upload.
url
The URL.
method
The HTTP method.
.post
by default.headers
The HTTP headers.
nil
by default.Return Value
The created
UploadRequest
. -
Creates an
UploadRequest
using the defaultSessionManager
from the specifiedurlRequest
for uploading thedata
.Declaration
Swift
@discardableResult public func upload(_ data: Data, with urlRequest: URLRequestConvertible) -> UploadRequest
Parameters
data
The data to upload.
urlRequest
The URL request.
Return Value
The created
UploadRequest
.
-
Creates an
UploadRequest
using the defaultSessionManager
from the specifiedurl
,method
andheaders
for uploading thestream
.Declaration
Swift
@discardableResult public func upload( _ stream: InputStream, to url: URLConvertible, method: HTTPMethod = .post, headers: HTTPHeaders? = nil) -> UploadRequest
Parameters
stream
The stream to upload.
url
The URL.
method
The HTTP method.
.post
by default.headers
The HTTP headers.
nil
by default.Return Value
The created
UploadRequest
. -
Creates an
UploadRequest
using the defaultSessionManager
from the specifiedurlRequest
for uploading thestream
.Declaration
Swift
@discardableResult public func upload(_ stream: InputStream, with urlRequest: URLRequestConvertible) -> UploadRequest
Parameters
urlRequest
The URL request.
stream
The stream to upload.
Return Value
The created
UploadRequest
.
-
Encodes
multipartFormData
usingencodingMemoryThreshold
with the defaultSessionManager
and callsencodingCompletion
with newUploadRequest
using theurl
,method
andheaders
.It is important to understand the memory implications of uploading
MultipartFormData
. If the cummulative 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 func upload( multipartFormData: @escaping (MultipartFormData) -> Void, usingThreshold encodingMemoryThreshold: UInt64 = SessionManager.multipartFormDataEncodingMemoryThreshold, to url: URLConvertible, method: HTTPMethod = .post, headers: HTTPHeaders? = nil, encodingCompletion: ((SessionManager.MultipartFormDataEncodingResult) -> Void)?)
Parameters
multipartFormData
The closure used to append body parts to the
MultipartFormData
.encodingMemoryThreshold
The encoding memory threshold in bytes.
multipartFormDataEncodingMemoryThreshold
by default.url
The URL.
method
The HTTP method.
.post
by default.headers
The HTTP headers.
nil
by default.encodingCompletion
The closure called when the
MultipartFormData
encoding is complete. -
Encodes
multipartFormData
usingencodingMemoryThreshold
and the defaultSessionManager
and callsencodingCompletion
with newUploadRequest
using theurlRequest
.It is important to understand the memory implications of uploading
MultipartFormData
. If the cummulative 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 func upload( multipartFormData: @escaping (MultipartFormData) -> Void, usingThreshold encodingMemoryThreshold: UInt64 = SessionManager.multipartFormDataEncodingMemoryThreshold, with urlRequest: URLRequestConvertible, encodingCompletion: ((SessionManager.MultipartFormDataEncodingResult) -> Void)?)
Parameters
multipartFormData
The closure used to append body parts to the
MultipartFormData
.encodingMemoryThreshold
The encoding memory threshold in bytes.
multipartFormDataEncodingMemoryThreshold
by default.urlRequest
The URL request.
encodingCompletion
The closure called when the
MultipartFormData
encoding is complete.
-
Creates a
StreamRequest
using the defaultSessionManager
for bidirectional streaming with thehostname
andport
.If
startRequestsImmediately
istrue
, the request will haveresume()
called before being returned.Declaration
Swift
@available(iOS 9.0, macOS 10.11, tvOS 9.0, *) @discardableResult public func stream(withHostName hostName: String, port: Int) -> StreamRequest
Parameters
hostName
The hostname of the server to connect to.
port
The port of the server to connect to.
Return Value
The created
StreamRequest
.
-
Creates a
StreamRequest
using the defaultSessionManager
for bidirectional streaming with thenetService
.If
startRequestsImmediately
istrue
, the request will haveresume()
called before being returned.Declaration
Swift
@available(iOS 9.0, macOS 10.11, tvOS 9.0, *) @discardableResult public func stream(with netService: NetService) -> StreamRequest
Parameters
netService
The net service used to identify the endpoint.
Return Value
The created
StreamRequest
. -
Declaration
Swift
public func < (lhs: EKWeekday, rhs: EKWeekday) -> Bool
-
Declaration
Swift
public func == (lhs: EKWeekday, rhs: EKWeekday) -> Bool