Instance Method

URLSession:task:needNewBodyStream:

Tells the delegate when a task requires a new request body stream to send to the remote server.

Declaration

- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task needNewBodyStream:(void (^)(NSInputStream *bodyStream))completionHandler;

Parameters

session

The session containing the task that needs a new body stream.

task

The task that needs a new body stream.

completionHandler

A completion handler that your delegate method should call with the new body stream.

Discussion

The task calls this delegate method under two circumstances:

  • To provide the initial request body stream if the task was created with uploadTaskWithStreamedRequest:

  • To provide a replacement request body stream if the task needs to resend a request that has a body stream because of an authentication challenge or other recoverable server error.

See Also

Working with Upload Tasks

- URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:

Periodically informs the delegate of the progress of sending body content to the server.