Class RequestContentAdapter
- All Implemented Interfaces:
EventListener
,Request.Content
,Request.Content.Subscription
,AsyncContentProvider.Listener
,Callback
,Invocable
Implements the conversion from ContentProvider
to Request.Content
.
-
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.util.thread.Invocable
Invocable.InvocationType, Invocable.ReadyTask, Invocable.Task
Nested classes/interfaces inherited from interface org.eclipse.jetty.client.api.Request.Content
Request.Content.Consumer, Request.Content.Subscription
-
Field Summary
Fields inherited from interface org.eclipse.jetty.util.thread.Invocable
__nonBlocking
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
demand()
Demands more content, which eventually results inRequest.Content.Consumer.onContent(ByteBuffer, boolean, Callback)
to be invoked.void
Fails this request content, possibly failing and discarding accumulated content that was not demanded.void
Callback invoked when the operation fails.long
boolean
Whether this content producer can produce exactly the same content more than once.void
Callback method invoked when content is availablesubscribe
(Request.Content.Consumer consumer, boolean emitInitialContent) 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 ofExpect: 100-Continue
whenemitInitialContent
isfalse
).void
Callback invoked when the operation completes.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.util.Callback
completeWith
-
Constructor Details
-
RequestContentAdapter
-
-
Method Details
-
getContentProvider
-
getContentType
- Specified by:
getContentType
in interfaceRequest.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 interfaceRequest.Content
- Returns:
- the content length, if known, or -1 if the content length is unknown
-
isReproducible
public boolean isReproducible()Description copied from interface:Request.Content
Whether this content producer can produce exactly the same content more than once.
Implementations should return
true
only if the content can be produced more than once, which means thatRequest.Content.subscribe(Consumer, boolean)
may be called again.The
HttpClient
implementation may use this method in particular cases where it detects that it is safe to retry a request that failed.- Specified by:
isReproducible
in interfaceRequest.Content
- Returns:
- whether the content can be produced more than once
-
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
whenemitInitialContent
isfalse
).- Specified by:
subscribe
in interfaceRequest.Content
- Parameters:
consumer
- the content consumer to invoke when there is demand for contentemitInitialContent
- 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 interfaceRequest.Content.Subscription
-
fail
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 interfaceRequest.Content
- Specified by:
fail
in interfaceRequest.Content.Subscription
- Parameters:
failure
- the reason of the failure
-
onContent
public void onContent()Description copied from interface:AsyncContentProvider.Listener
Callback method invoked when content is available- Specified by:
onContent
in interfaceAsyncContentProvider.Listener
-
succeeded
public void succeeded()Description copied from interface:Callback
Callback invoked when the operation completes.
-
failed
Description copied from interface:Callback
Callback invoked when the operation fails.
-
getInvocationType
- Specified by:
getInvocationType
in interfaceInvocable
- Returns:
- The InvocationType of this object
-
toString
-