Class InputStreamContentProvider

java.lang.Object
org.eclipse.jetty.client.util.InputStreamContentProvider
All Implemented Interfaces:
Closeable, AutoCloseable, Iterable<ByteBuffer>, ContentProvider, Callback, Invocable

@Deprecated(since="2021-05-27") public class InputStreamContentProvider extends Object implements ContentProvider, Callback, Closeable
Deprecated.
The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.
A ContentProvider for an InputStream.

The input stream is read once and therefore fully consumed. Invocations to the iterator() method after the first will return an "empty" iterator because the stream has been consumed on the first invocation.

However, it is possible for subclasses to override onRead(byte[], int, int) to copy the content read from the stream to another location (for example a file), and be able to support multiple invocations of iterator(), returning the iterator provided by this class on the first invocation, and an iterator on the bytes copied to the other location for subsequent invocations.

It is possible to specify, at the constructor, a buffer size used to read content from the stream, by default 4096 bytes.

The InputStream passed to the constructor is by default closed when is it fully consumed (or when an exception is thrown while reading it), unless otherwise specified to the constructor.

  • Constructor Details

    • InputStreamContentProvider

      public InputStreamContentProvider(InputStream stream)
      Deprecated.
    • InputStreamContentProvider

      public InputStreamContentProvider(InputStream stream, int bufferSize)
      Deprecated.
    • InputStreamContentProvider

      public InputStreamContentProvider(InputStream stream, int bufferSize, boolean autoClose)
      Deprecated.
  • Method Details

    • getLength

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

      public Iterator<ByteBuffer> iterator()
      Deprecated.
      Specified by:
      iterator in interface Iterable<ByteBuffer>
    • close

      public void close()
      Deprecated.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • failed

      public void failed(Throwable failure)
      Deprecated.
      Description copied from interface: Callback

      Callback invoked when the operation fails.

      Specified by:
      failed in interface Callback
      Parameters:
      failure - the reason for the operation failure