Contents

urlSession(_:task:needNewBodyStream:)

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

Declaration

optional func urlSession(_ session: URLSession, task: URLSessionTask, needNewBodyStream completionHandler: @escaping  @Sendable (InputStream?) -> Void)
optional func urlSession(_ session: URLSession, needNewBodyStreamForTask task: URLSessionTask) async -> InputStream?

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.

Mentioned in

Discussion

The task calls this delegate method under two circumstances:

  • To provide the initial request body stream if the task was created with uploadTask(withStreamedRequest:)

  • 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