Class AsyncRequestContent

java.lang.Object
org.eclipse.jetty.client.util.AsyncRequestContent
All Implemented Interfaces:
Closeable, AutoCloseable, Request.Content, Request.Content.Subscription
Direct Known Subclasses:
OutputStreamRequestContent

public class AsyncRequestContent extends Object implements Request.Content, Request.Content.Subscription, Closeable
  • Constructor Details

    • AsyncRequestContent

      public AsyncRequestContent(ByteBuffer... buffers)
    • AsyncRequestContent

      public AsyncRequestContent(String contentType, ByteBuffer... buffers)
  • Method Details

    • getContentType

      public String getContentType()
      Specified by:
      getContentType in interface Request.Content
      Returns:
      the content type string such as "application/octet-stream" or "application/json;charset=UTF8", or null if no content type must be set
    • getLength

      public long getLength()
      Specified by:
      getLength in interface Request.Content
      Returns:
      the content length, if known, or -1 if the content length is unknown
    • subscribe

      public Request.Content.Subscription subscribe(Request.Content.Consumer consumer, boolean emitInitialContent)
      Description copied from interface: Request.Content

      Initializes this content producer with the content consumer, and with the indication of whether initial content, if present, must be emitted upon the initial demand of content (to support delaying the send of the request content in case of Expect: 100-Continue when emitInitialContent is false).

      Specified by:
      subscribe in interface Request.Content
      Parameters:
      consumer - the content consumer to invoke when there is demand for content
      emitInitialContent - whether to emit initial content, if present
      Returns:
      the Subscription that links this producer to the consumer
    • demand

      public void demand()
      Description copied from interface: Request.Content.Subscription

      Demands more content, which eventually results in Request.Content.Consumer.onContent(ByteBuffer, boolean, Callback) to be invoked.

      Specified by:
      demand in interface Request.Content.Subscription
    • fail

      public void fail(Throwable failure)
      Description copied from interface: Request.Content

      Fails this request content, possibly failing and discarding accumulated content that was not demanded.

      The failure may be notified to the consumer at a later time, when the consumer demands for content.

      Typical failure: the request being aborted by user code, or idle timeouts.

      Specified by:
      fail in interface Request.Content
      Specified by:
      fail in interface Request.Content.Subscription
      Parameters:
      failure - the reason of the failure
    • offer

      public boolean offer(ByteBuffer buffer)
    • offer

      public boolean offer(ByteBuffer buffer, Callback callback)
    • flush

      public void flush() throws IOException
      Throws:
      IOException
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • isClosed

      public boolean isClosed()
    • toString

      public String toString()
      Overrides:
      toString in class Object