Package org.eclipse.jetty.client.util
Class FutureResponseListener
java.lang.Object
org.eclipse.jetty.client.api.Response.Listener.Adapter
org.eclipse.jetty.client.util.BufferingResponseListener
org.eclipse.jetty.client.util.FutureResponseListener
- All Implemented Interfaces:
Future<ContentResponse>
,EventListener
,Response.AsyncContentListener
,Response.BeginListener
,Response.CompleteListener
,Response.ContentListener
,Response.DemandedContentListener
,Response.FailureListener
,Response.HeaderListener
,Response.HeadersListener
,Response.Listener
,Response.ResponseListener
,Response.SuccessListener
public class FutureResponseListener
extends BufferingResponseListener
implements Future<ContentResponse>
A
BufferingResponseListener
that is also a Future
, to allow applications
to block (indefinitely or for a timeout) until onComplete(Result)
is called,
or to abort
the request/response conversation.
Typical usage is:
Request request = httpClient.newRequest(...)...; FutureResponseListener listener = new FutureResponseListener(request); request.send(listener); // Asynchronous send ContentResponse response = listener.get(5, TimeUnit.SECONDS); // Timed block
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.jetty.client.api.Response.Listener
Response.Listener.Adapter
-
Constructor Summary
ConstructorDescriptionFutureResponseListener
(Request request) FutureResponseListener
(Request request, int maxLength) -
Method Summary
Modifier and TypeMethodDescriptionboolean
cancel
(boolean mayInterruptIfRunning) get()
boolean
boolean
isDone()
void
onComplete
(Result result) Callback method invoked when the request and the response have been processed, either successfully or not.Methods inherited from class org.eclipse.jetty.client.util.BufferingResponseListener
getContent, getContentAsInputStream, getContentAsString, getContentAsString, getContentAsString, getEncoding, getMediaType, onContent, onHeaders
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.client.api.Response.AsyncContentListener
onContent
Methods inherited from interface org.eclipse.jetty.client.api.Response.ContentListener
onContent
Methods inherited from interface org.eclipse.jetty.client.api.Response.DemandedContentListener
onBeforeContent
Methods inherited from interface org.eclipse.jetty.client.api.Response.Listener
onBegin, onFailure, onHeader, onSuccess
-
Constructor Details
-
FutureResponseListener
-
FutureResponseListener
-
-
Method Details
-
getRequest
-
onComplete
Description copied from interface:Response.CompleteListener
Callback method invoked when the request and the response have been processed, either successfully or not.The
result
parameter contains the request, the response, and eventual failures.Requests may complete after response, for example in case of big uploads that are discarded or read asynchronously by the server. This method is always invoked after
Response.SuccessListener.onSuccess(Response)
orResponse.FailureListener.onFailure(Response, Throwable)
, and only when request indicates that it is completed.- Specified by:
onComplete
in interfaceResponse.CompleteListener
- Specified by:
onComplete
in interfaceResponse.Listener
- Specified by:
onComplete
in classBufferingResponseListener
- Parameters:
result
- the result of the request / response exchange
-
cancel
public boolean cancel(boolean mayInterruptIfRunning) - Specified by:
cancel
in interfaceFuture<ContentResponse>
-
isCancelled
public boolean isCancelled()- Specified by:
isCancelled
in interfaceFuture<ContentResponse>
-
isDone
public boolean isDone()- Specified by:
isDone
in interfaceFuture<ContentResponse>
-
get
- Specified by:
get
in interfaceFuture<ContentResponse>
- Throws:
InterruptedException
ExecutionException
-
get
public ContentResponse get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException - Specified by:
get
in interfaceFuture<ContentResponse>
- Throws:
InterruptedException
ExecutionException
TimeoutException
-