Class InputStreamContentProvider
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Iterable<ByteBuffer>
,ContentProvider
,Callback
,Invocable
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
.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Callback
Callback.Completable, Callback.Completing, Callback.Nested
Nested classes/interfaces inherited from interface org.eclipse.jetty.client.api.ContentProvider
ContentProvider.Typed
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.Invocable
Invocable.InvocationType
-
Field Summary
Fields inherited from interface org.eclipse.jetty.util.thread.Invocable
__nonBlocking
-
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.InputStreamContentProvider
(InputStream stream, int bufferSize) Deprecated.InputStreamContentProvider
(InputStream stream, int bufferSize, boolean autoClose) Deprecated. -
Method Summary
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.client.api.ContentProvider
isReproducible
Methods inherited from interface org.eclipse.jetty.util.thread.Invocable
getInvocationType
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
InputStreamContentProvider
Deprecated. -
InputStreamContentProvider
Deprecated. -
InputStreamContentProvider
Deprecated.
-
-
Method Details
-
getLength
public long getLength()Deprecated.- Specified by:
getLength
in interfaceContentProvider
- Returns:
- the content length, if known, or -1 if the content length is unknown
-
iterator
Deprecated.- Specified by:
iterator
in interfaceIterable<ByteBuffer>
-
close
public void close()Deprecated.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
failed
Deprecated.Description copied from interface:Callback
Callback invoked when the operation fails.
-