WLAFURLSessionManager Class Reference
Inherits from | NSObject |
Conforms to | NSCopying NSSecureCoding NSURLSessionDataDelegate NSURLSessionDelegate NSURLSessionDownloadDelegate NSURLSessionTaskDelegate |
Declared in | WLAFURLSessionManager.h |
Overview
WLAFURLSessionManager
creates and manages an NSURLSession
object based on a specified NSURLSessionConfiguration
object, which conforms to <NSURLSessionTaskDelegate>
, <NSURLSessionDataDelegate>
, <NSURLSessionDownloadDelegate>
, and <NSURLSessionDelegate>
.
Subclassing Notes
This is the base class for WLAFHTTPSessionManager
, which adds functionality specific to making HTTP requests. If you are looking to extend WLAFURLSessionManager
specifically for HTTP, consider subclassing WLAFHTTPSessionManager
instead.
NSURLSession & NSURLSessionTask Delegate Methods
WLAFURLSessionManager
implements the following delegate methods:
NSURLSessionDelegate
URLSession:didBecomeInvalidWithError:
URLSession:didReceiveChallenge:completionHandler:
URLSessionDidFinishEventsForBackgroundURLSession:
NSURLSessionTaskDelegate
URLSession:willPerformHTTPRedirection:newRequest:completionHandler:
URLSession:task:didReceiveChallenge:completionHandler:
URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:
URLSession:task:needNewBodyStream:
URLSession:task:didCompleteWithError:
NSURLSessionDataDelegate
URLSession:dataTask:didReceiveResponse:completionHandler:
URLSession:dataTask:didBecomeDownloadTask:
URLSession:dataTask:didReceiveData:
URLSession:dataTask:willCacheResponse:completionHandler:
NSURLSessionDownloadDelegate
URLSession:downloadTask:didFinishDownloadingToURL:
URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesWritten:totalBytesExpectedToWrite:
URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:
If any of these methods are overridden in a subclass, they must call the super
implementation first.
Network Reachability Monitoring
Network reachability status and change monitoring is available through the reachabilityManager
property. Applications may choose to monitor network reachability conditions in order to prevent or suspend any outbound requests. See WLAFNetworkReachabilityManager
for more details.
NSCoding Caveats
- Encoded managers do not include any block properties. Be sure to set delegate callback blocks when using
-initWithCoder:
orNSKeyedUnarchiver
.
NSCopying Caveats
-copy
and-copyWithZone:
return a new manager with a newNSURLSession
created from the configuration of the original.- Operation copies do not include any delegate callback blocks, as they often strongly captures a reference to
self
, which would otherwise have the unintuitive side-effect of pointing to the original session manager when copied.
Warning: Managers for background sessions must be owned for the duration of their use. This can be accomplished by creating an application-wide or shared singleton instance.
Tasks
Other Methods
-
session
property -
operationQueue
property -
responseSerializer
property
Managing Security Policy
-
securityPolicy
property
Monitoring Network Reachability
-
reachabilityManager
property
Getting Session Tasks
-
tasks
property -
dataTasks
property -
uploadTasks
property -
downloadTasks
property
Managing Callback Queues
-
completionQueue
property -
completionGroup
property
Working Around System Bugs
Initialization
-
– initWithSessionConfiguration:
-
– invalidateSessionCancelingTasks:
-
– invalidateSessionCancelingTasks:resetSession:
Running Data Tasks
-
– dataTaskWithRequest:completionHandler:
-
– dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:
Running Upload Tasks
-
– uploadTaskWithRequest:fromFile:progress:completionHandler:
-
– uploadTaskWithRequest:fromData:progress:completionHandler:
-
– uploadTaskWithStreamedRequest:progress:completionHandler:
Running Download Tasks
-
– downloadTaskWithRequest:progress:destination:completionHandler:
-
– downloadTaskWithResumeData:progress:destination:completionHandler:
Getting Progress for Tasks
Setting Session Delegate Callbacks
Setting Task Delegate Callbacks
-
– setTaskNeedNewBodyStreamBlock:
-
– setTaskWillPerformHTTPRedirectionBlock:
-
– setTaskDidReceiveAuthenticationChallengeBlock:
-
– setTaskDidSendBodyDataBlock:
-
– setTaskDidCompleteBlock:
-
– setTaskDidFinishCollectingMetricsBlock:
Setting Data Task Delegate Callbacks
-
– setDataTaskDidReceiveResponseBlock:
-
– setDataTaskDidBecomeDownloadTaskBlock:
-
– setDataTaskDidReceiveDataBlock:
-
– setDataTaskWillCacheResponseBlock:
-
– setDidFinishEventsForBackgroundURLSessionBlock:
Setting Download Task Delegate Callbacks
Properties
attemptsToRecreateUploadTasksForBackgroundSessions
Whether to attempt to retry creation of upload tasks for background sessions when initial call returns nil
. NO
by default.
@property (nonatomic, assign) BOOL attemptsToRecreateUploadTasksForBackgroundSessions
Discussion
Declared In
WLAFURLSessionManager.h
completionGroup
The dispatch group for completionBlock
. If NULL
(default), a private dispatch group is used.
@property (nonatomic, strong, nullable) dispatch_group_t completionGroup
Declared In
WLAFURLSessionManager.h
completionQueue
The dispatch queue for completionBlock
. If NULL
(default), the main queue is used.
@property (nonatomic, strong, nullable) dispatch_queue_t completionQueue
Declared In
WLAFURLSessionManager.h
dataTasks
@property (readonly, nonatomic, strong) NSArray<NSURLSessionDataTask*> *dataTasks
Declared In
WLAFURLSessionManager.h
downloadTasks
@property (readonly, nonatomic, strong) NSArray<NSURLSessionDownloadTask*> *downloadTasks
Declared In
WLAFURLSessionManager.h
operationQueue
The operation queue on which delegate callbacks are run.
@property (readonly, nonatomic, strong) NSOperationQueue *operationQueue
Declared In
WLAFURLSessionManager.h
reachabilityManager
The network reachability manager. WLAFURLSessionManager
uses the sharedManager
by default.
@property (readwrite, nonatomic, strong) WLAFNetworkReachabilityManager *reachabilityManager
Declared In
WLAFURLSessionManager.h
responseSerializer
Responses sent from the server in data tasks created with dataTaskWithRequest:success:failure:
and run using the GET
/ POST
/ et al. convenience methods are automatically validated and serialized by the response serializer. By default, this property is set to an instance of WLAFJSONResponseSerializer
.
@property (nonatomic, strong) id<WLAFURLResponseSerialization> responseSerializer
Discussion
Warning: responseSerializer
must not be nil
.
Declared In
WLAFURLSessionManager.h
securityPolicy
The security policy used by created session to evaluate server trust for secure connections. WLAFURLSessionManager
uses the defaultPolicy
unless otherwise specified.
@property (nonatomic, strong) WLAFSecurityPolicy *securityPolicy
Declared In
WLAFURLSessionManager.h
session
The managed session.
@property (readonly, nonatomic, strong) NSURLSession *session
Declared In
WLAFURLSessionManager.h
tasks
The data, upload, and download tasks currently run by the managed session.
@property (readonly, nonatomic, strong) NSArray<NSURLSessionTask*> *tasks
Declared In
WLAFURLSessionManager.h
Instance Methods
dataTaskWithRequest:completionHandler:
Creates an NSURLSessionDataTask
with the specified request.
- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request completionHandler:(nullable void ( ^ ) ( NSURLResponse *response , id _Nullable responseObject , NSError *_Nullable error ))completionHandler
Parameters
- request
The HTTP request for the request.
- completionHandler
A block object to be executed when the task finishes. This block has no return value and takes three arguments: the server response, the response object created by that serializer, and the error that occurred, if any.
Declared In
WLAFURLSessionManager.h
dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:
Creates an NSURLSessionDataTask
with the specified request.
- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request uploadProgress:(nullable void ( ^ ) ( NSProgress *uploadProgress ))uploadProgressBlock downloadProgress:(nullable void ( ^ ) ( NSProgress *downloadProgress ))downloadProgressBlock completionHandler:(nullable void ( ^ ) ( NSURLResponse *response , id _Nullable responseObject , NSError *_Nullable error ))completionHandler
Parameters
- request
The HTTP request for the request.
- uploadProgressBlock
A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue.
- downloadProgressBlock
A block object to be executed when the download progress is updated. Note this block is called on the session queue, not the main queue.
- completionHandler
A block object to be executed when the task finishes. This block has no return value and takes three arguments: the server response, the response object created by that serializer, and the error that occurred, if any.
Declared In
WLAFURLSessionManager.h
downloadProgressForTask:
Returns the download progress of the specified task.
- (nullable NSProgress *)downloadProgressForTask:(NSURLSessionTask *)task
Parameters
- task
The session task. Must not be
nil
.
Return Value
An NSProgress
object reporting the download progress of a task, or nil
if the progress is unavailable.
Declared In
WLAFURLSessionManager.h
downloadTaskWithRequest:progress:destination:completionHandler:
Creates an NSURLSessionDownloadTask
with the specified request.
- (NSURLSessionDownloadTask *)downloadTaskWithRequest:(NSURLRequest *)request progress:(nullable void ( ^ ) ( NSProgress *downloadProgress ))downloadProgressBlock destination:(nullable NSURL *( ^ ) ( NSURL *targetPath , NSURLResponse *response ))destination completionHandler:(nullable void ( ^ ) ( NSURLResponse *response , NSURL *_Nullable filePath , NSError *_Nullable error ))completionHandler
Parameters
- request
The HTTP request for the request.
- downloadProgressBlock
A block object to be executed when the download progress is updated. Note this block is called on the session queue, not the main queue.
- destination
A block object to be executed in order to determine the destination of the downloaded file. This block takes two arguments, the target path & the server response, and returns the desired file URL of the resulting download. The temporary file used during the download will be automatically deleted after being moved to the returned URL.
- completionHandler
A block to be executed when a task finishes. This block has no return value and takes three arguments: the server response, the path of the downloaded file, and the error describing the network or parsing error that occurred, if any.
Discussion
Warning: If using a background NSURLSessionConfiguration
on iOS, these blocks will be lost when the app is terminated. Background sessions may prefer to use setDownloadTaskDidFinishDownloadingBlock:
to specify the URL for saving the downloaded file, rather than the destination block of this method.
Declared In
WLAFURLSessionManager.h
downloadTaskWithResumeData:progress:destination:completionHandler:
Creates an NSURLSessionDownloadTask
with the specified resume data.
- (NSURLSessionDownloadTask *)downloadTaskWithResumeData:(NSData *)resumeData progress:(nullable void ( ^ ) ( NSProgress *downloadProgress ))downloadProgressBlock destination:(nullable NSURL *( ^ ) ( NSURL *targetPath , NSURLResponse *response ))destination completionHandler:(nullable void ( ^ ) ( NSURLResponse *response , NSURL *_Nullable filePath , NSError *_Nullable error ))completionHandler
Parameters
- resumeData
The data used to resume downloading.
- downloadProgressBlock
A block object to be executed when the download progress is updated. Note this block is called on the session queue, not the main queue.
- destination
A block object to be executed in order to determine the destination of the downloaded file. This block takes two arguments, the target path & the server response, and returns the desired file URL of the resulting download. The temporary file used during the download will be automatically deleted after being moved to the returned URL.
- completionHandler
A block to be executed when a task finishes. This block has no return value and takes three arguments: the server response, the path of the downloaded file, and the error describing the network or parsing error that occurred, if any.
Declared In
WLAFURLSessionManager.h
initWithSessionConfiguration:
Creates and returns a manager for a session created with the specified configuration. This is the designated initializer.
- (instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)configuration
Parameters
- configuration
The configuration used to create the managed session.
Return Value
A manager for a newly-created session.
Declared In
WLAFURLSessionManager.h
invalidateSessionCancelingTasks:
- (void)invalidateSessionCancelingTasks:(BOOL)cancelPendingTasks
Parameters
- cancelPendingTasks
Whether or not to cancel pending tasks.
Declared In
WLAFURLSessionManager.h
invalidateSessionCancelingTasks:resetSession:
Invalidates the managed session, optionally canceling pending tasks and optionally resets given session.
- (void)invalidateSessionCancelingTasks:(BOOL)cancelPendingTasks resetSession:(BOOL)resetSession
Parameters
- cancelPendingTasks
Whether or not to cancel pending tasks.
- resetSession
Whether or not to reset the session of the manager.
Declared In
WLAFURLSessionManager.h
setDataTaskDidBecomeDownloadTaskBlock:
Sets a block to be executed when a data task has become a download task, as handled by the NSURLSessionDataDelegate
method URLSession:dataTask:didBecomeDownloadTask:
.
- (void)setDataTaskDidBecomeDownloadTaskBlock:(nullable void ( ^ ) ( NSURLSession *session , NSURLSessionDataTask *dataTask , NSURLSessionDownloadTask *downloadTask ))block
Parameters
- block
A block object to be executed when a data task has become a download task. The block has no return value, and takes three arguments: the session, the data task, and the download task it has become.
Declared In
WLAFURLSessionManager.h
setDataTaskDidReceiveDataBlock:
Sets a block to be executed when a data task receives data, as handled by the NSURLSessionDataDelegate
method URLSession:dataTask:didReceiveData:
.
- (void)setDataTaskDidReceiveDataBlock:(nullable void ( ^ ) ( NSURLSession *session , NSURLSessionDataTask *dataTask , NSData *data ))block
Parameters
- block
A block object to be called when an undetermined number of bytes have been downloaded from the server. This block has no return value and takes three arguments: the session, the data task, and the data received. This block may be called multiple times, and will execute on the session manager operation queue.
Declared In
WLAFURLSessionManager.h
setDataTaskDidReceiveResponseBlock:
Sets a block to be executed when a data task has received a response, as handled by the NSURLSessionDataDelegate
method URLSession:dataTask:didReceiveResponse:completionHandler:
.
- (void)setDataTaskDidReceiveResponseBlock:(nullable NSURLSessionResponseDisposition ( ^ ) ( NSURLSession *session , NSURLSessionDataTask *dataTask , NSURLResponse *response ))block
Parameters
Declared In
WLAFURLSessionManager.h
setDataTaskWillCacheResponseBlock:
Sets a block to be executed to determine the caching behavior of a data task, as handled by the NSURLSessionDataDelegate
method URLSession:dataTask:willCacheResponse:completionHandler:
.
- (void)setDataTaskWillCacheResponseBlock:(nullable NSCachedURLResponse *( ^ ) ( NSURLSession *session , NSURLSessionDataTask *dataTask , NSCachedURLResponse *proposedResponse ))block
Parameters
- block
A block object to be executed to determine the caching behavior of a data task. The block returns the response to cache, and takes three arguments: the session, the data task, and the proposed cached URL response.
Declared In
WLAFURLSessionManager.h
setDidFinishEventsForBackgroundURLSessionBlock:
Sets a block to be executed once all messages enqueued for a session have been delivered, as handled by the NSURLSessionDataDelegate
method URLSessionDidFinishEventsForBackgroundURLSession:
.
- (void)setDidFinishEventsForBackgroundURLSessionBlock:(nullable void ( ^ ) ( NSURLSession *session ))block
Parameters
Declared In
WLAFURLSessionManager.h
setDownloadTaskDidFinishDownloadingBlock:
Sets a block to be executed when a download task has completed a download, as handled by the NSURLSessionDownloadDelegate
method URLSession:downloadTask:didFinishDownloadingToURL:
.
- (void)setDownloadTaskDidFinishDownloadingBlock:(nullable NSURL *_Nullable ( ^ ) ( NSURLSession *session , NSURLSessionDownloadTask *downloadTask , NSURL *location ))block
Parameters
- block
A block object to be executed when a download task has completed. The block returns the URL the download should be moved to, and takes three arguments: the session, the download task, and the temporary location of the downloaded file. If the file manager encounters an error while attempting to move the temporary file to the destination, an
WLAFURLSessionDownloadTaskDidFailToMoveFileNotification
will be posted, with the download task as its object, and the user info of the error.
Declared In
WLAFURLSessionManager.h
setDownloadTaskDidResumeBlock:
Sets a block to be executed when a download task has been resumed, as handled by the NSURLSessionDownloadDelegate
method URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:
.
- (void)setDownloadTaskDidResumeBlock:(nullable void ( ^ ) ( NSURLSession *session , NSURLSessionDownloadTask *downloadTask , int64_t fileOffset , int64_t expectedTotalBytes ))block
Parameters
- block
A block object to be executed when a download task has been resumed. The block has no return value and takes four arguments: the session, the download task, the file offset of the resumed download, and the total number of bytes expected to be downloaded.
Declared In
WLAFURLSessionManager.h
setDownloadTaskDidWriteDataBlock:
Sets a block to be executed periodically to track download progress, as handled by the NSURLSessionDownloadDelegate
method URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesWritten:totalBytesExpectedToWrite:
.
- (void)setDownloadTaskDidWriteDataBlock:(nullable void ( ^ ) ( NSURLSession *session , NSURLSessionDownloadTask *downloadTask , int64_t bytesWritten , int64_t totalBytesWritten , int64_t totalBytesExpectedToWrite ))block
Parameters
- block
A block object to be called when an undetermined number of bytes have been downloaded from the server. This block has no return value and takes five arguments: the session, the download task, the number of bytes read since the last time the download progress block was called, the total bytes read, and the total bytes expected to be read during the request, as initially determined by the expected content size of the
NSHTTPURLResponse
object. This block may be called multiple times, and will execute on the session manager operation queue.
Declared In
WLAFURLSessionManager.h
setSessionDidBecomeInvalidBlock:
Sets a block to be executed when the managed session becomes invalid, as handled by the NSURLSessionDelegate
method URLSession:didBecomeInvalidWithError:
.
- (void)setSessionDidBecomeInvalidBlock:(nullable void ( ^ ) ( NSURLSession *session , NSError *error ))block
Parameters
Declared In
WLAFURLSessionManager.h
setSessionDidReceiveAuthenticationChallengeBlock:
Sets a block to be executed when a connection level authentication challenge has occurred, as handled by the NSURLSessionDelegate
method URLSession:didReceiveChallenge:completionHandler:
.
- (void)setSessionDidReceiveAuthenticationChallengeBlock:(nullable NSURLSessionAuthChallengeDisposition ( ^ ) ( NSURLSession *session , NSURLAuthenticationChallenge *challenge , NSURLCredential *_Nullable __autoreleasing *_Nullable credential ))block
Parameters
- block
A block object to be executed when a connection level authentication challenge has occurred. The block returns the disposition of the authentication challenge, and takes three arguments: the session, the authentication challenge, and a pointer to the credential that should be used to resolve the challenge.
Declared In
WLAFURLSessionManager.h
setTaskDidCompleteBlock:
Sets a block to be executed as the last message related to a specific task, as handled by the NSURLSessionTaskDelegate
method URLSession:task:didCompleteWithError:
.
- (void)setTaskDidCompleteBlock:(nullable void ( ^ ) ( NSURLSession *session , NSURLSessionTask *task , NSError *_Nullable error ))block
Parameters
Declared In
WLAFURLSessionManager.h
setTaskDidFinishCollectingMetricsBlock:
Sets a block to be executed when metrics are finalized related to a specific task, as handled by the NSURLSessionTaskDelegate
method URLSession:task:didFinishCollectingMetrics:
.
- (void)setTaskDidFinishCollectingMetricsBlock:(nullable void ( ^ ) ( NSURLSession *session , NSURLSessionTask *task , NSURLSessionTaskMetrics *_Nullable metrics ))block
Parameters
Declared In
WLAFURLSessionManager.h
setTaskDidReceiveAuthenticationChallengeBlock:
Sets a block to be executed when a session task has received a request specific authentication challenge, as handled by the NSURLSessionTaskDelegate
method URLSession:task:didReceiveChallenge:completionHandler:
.
- (void)setTaskDidReceiveAuthenticationChallengeBlock:(nullable NSURLSessionAuthChallengeDisposition ( ^ ) ( NSURLSession *session , NSURLSessionTask *task , NSURLAuthenticationChallenge *challenge , NSURLCredential *_Nullable __autoreleasing *_Nullable credential ))block
Parameters
- block
A block object to be executed when a session task has received a request specific authentication challenge. The block returns the disposition of the authentication challenge, and takes four arguments: the session, the task, the authentication challenge, and a pointer to the credential that should be used to resolve the challenge.
Declared In
WLAFURLSessionManager.h
setTaskDidSendBodyDataBlock:
Sets a block to be executed periodically to track upload progress, as handled by the NSURLSessionTaskDelegate
method URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:
.
- (void)setTaskDidSendBodyDataBlock:(nullable void ( ^ ) ( NSURLSession *session , NSURLSessionTask *task , int64_t bytesSent , int64_t totalBytesSent , int64_t totalBytesExpectedToSend ))block
Parameters
- block
A block object to be called when an undetermined number of bytes have been uploaded to the server. This block has no return value and takes five arguments: the session, the task, the number of bytes written since the last time the upload progress block was called, the total bytes written, and the total bytes expected to be written during the request, as initially determined by the length of the HTTP body. This block may be called multiple times, and will execute on the main thread.
Declared In
WLAFURLSessionManager.h
setTaskNeedNewBodyStreamBlock:
Sets a block to be executed when a task requires a new request body stream to send to the remote server, as handled by the NSURLSessionTaskDelegate
method URLSession:task:needNewBodyStream:
.
- (void)setTaskNeedNewBodyStreamBlock:(nullable NSInputStream *( ^ ) ( NSURLSession *session , NSURLSessionTask *task ))block
Parameters
- block
A block object to be executed when a task requires a new request body stream.
Declared In
WLAFURLSessionManager.h
setTaskWillPerformHTTPRedirectionBlock:
Sets a block to be executed when an HTTP request is attempting to perform a redirection to a different URL, as handled by the NSURLSessionTaskDelegate
method URLSession:willPerformHTTPRedirection:newRequest:completionHandler:
.
- (void)setTaskWillPerformHTTPRedirectionBlock:(nullable NSURLRequest *_Nullable ( ^ ) ( NSURLSession *session , NSURLSessionTask *task , NSURLResponse *response , NSURLRequest *request ))block
Parameters
- block
A block object to be executed when an HTTP request is attempting to perform a redirection to a different URL. The block returns the request to be made for the redirection, and takes four arguments: the session, the task, the redirection response, and the request corresponding to the redirection response.
Declared In
WLAFURLSessionManager.h
uploadProgressForTask:
Returns the upload progress of the specified task.
- (nullable NSProgress *)uploadProgressForTask:(NSURLSessionTask *)task
Parameters
- task
The session task. Must not be
nil
.
Return Value
An NSProgress
object reporting the upload progress of a task, or nil
if the progress is unavailable.
Declared In
WLAFURLSessionManager.h
uploadTaskWithRequest:fromData:progress:completionHandler:
Creates an NSURLSessionUploadTask
with the specified request for an HTTP body.
- (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request fromData:(nullable NSData *)bodyData progress:(nullable void ( ^ ) ( NSProgress *uploadProgress ))uploadProgressBlock completionHandler:(nullable void ( ^ ) ( NSURLResponse *response , id _Nullable responseObject , NSError *_Nullable error ))completionHandler
Parameters
- request
The HTTP request for the request.
- bodyData
A data object containing the HTTP body to be uploaded.
- uploadProgressBlock
A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue.
- completionHandler
A block object to be executed when the task finishes. This block has no return value and takes three arguments: the server response, the response object created by that serializer, and the error that occurred, if any.
Declared In
WLAFURLSessionManager.h
uploadTaskWithRequest:fromFile:progress:completionHandler:
Creates an NSURLSessionUploadTask
with the specified request for a local file.
- (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request fromFile:(NSURL *)fileURL progress:(nullable void ( ^ ) ( NSProgress *uploadProgress ))uploadProgressBlock completionHandler:(nullable void ( ^ ) ( NSURLResponse *response , id _Nullable responseObject , NSError *_Nullable error ))completionHandler
Parameters
- request
The HTTP request for the request.
- fileURL
A URL to the local file to be uploaded.
- uploadProgressBlock
A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue.
- completionHandler
A block object to be executed when the task finishes. This block has no return value and takes three arguments: the server response, the response object created by that serializer, and the error that occurred, if any.
Declared In
WLAFURLSessionManager.h
uploadTaskWithStreamedRequest:progress:completionHandler:
Creates an NSURLSessionUploadTask
with the specified streaming request.
- (NSURLSessionUploadTask *)uploadTaskWithStreamedRequest:(NSURLRequest *)request progress:(nullable void ( ^ ) ( NSProgress *uploadProgress ))uploadProgressBlock completionHandler:(nullable void ( ^ ) ( NSURLResponse *response , id _Nullable responseObject , NSError *_Nullable error ))completionHandler
Parameters
- request
The HTTP request for the request.
- uploadProgressBlock
A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue.
- completionHandler
A block object to be executed when the task finishes. This block has no return value and takes three arguments: the server response, the response object created by that serializer, and the error that occurred, if any.
Declared In
WLAFURLSessionManager.h