Class PathRequestContent
- All Implemented Interfaces:
Request.Content
A Request.Content for files using JDK 7's java.nio.file APIs.
It is possible to specify, at the constructor, a buffer size used to read
content from the stream, by default 4096 bytes.
If a ByteBufferPool is provided via setByteBufferPool(ByteBufferPool),
the buffer will be allocated from that pool, otherwise one buffer will be
allocated and used to read the file.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.client.util.AbstractRequestContent
AbstractRequestContent.AbstractSubscription, AbstractRequestContent.ProducerNested classes/interfaces inherited from interface org.eclipse.jetty.client.api.Request.Content
Request.Content.Consumer, Request.Content.Subscription -
Constructor Summary
ConstructorsConstructorDescriptionPathRequestContent(String contentType, Path filePath) PathRequestContent(String contentType, Path filePath, int bufferSize) PathRequestContent(Path filePath) PathRequestContent(Path filePath, int bufferSize) -
Method Summary
Modifier and TypeMethodDescriptionlongbooleanWhether this content producer can produce exactly the same content more than once.booleanprotected Request.Content.SubscriptionnewSubscription(Request.Content.Consumer consumer, boolean emitInitialContent) voidsetByteBufferPool(ByteBufferPool byteBufferPool) voidsetUseDirectByteBuffers(boolean useDirectByteBuffers) Methods inherited from class org.eclipse.jetty.client.util.AbstractRequestContent
getContentType, subscribeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.jetty.client.api.Request.Content
fail
-
Constructor Details
-
PathRequestContent
- Throws:
IOException
-
PathRequestContent
- Throws:
IOException
-
PathRequestContent
- Throws:
IOException
-
PathRequestContent
- Throws:
IOException
-
-
Method Details
-
getLength
public long getLength()- Returns:
- the content length, if known, or -1 if the content length is unknown
-
isReproducible
public boolean isReproducible()Description copied from interface:Request.ContentWhether this content producer can produce exactly the same content more than once.
Implementations should return
trueonly if the content can be produced more than once, which means thatRequest.Content.subscribe(Consumer, boolean)may be called again.The
HttpClientimplementation may use this method in particular cases where it detects that it is safe to retry a request that failed.- Returns:
- whether the content can be produced more than once
-
getByteBufferPool
-
setByteBufferPool
-
isUseDirectByteBuffers
public boolean isUseDirectByteBuffers() -
setUseDirectByteBuffers
public void setUseDirectByteBuffers(boolean useDirectByteBuffers) -
newSubscription
protected Request.Content.Subscription newSubscription(Request.Content.Consumer consumer, boolean emitInitialContent) - Specified by:
newSubscriptionin classAbstractRequestContent
-