public class TransferCompletionHandler extends AsyncCompletionHandlerBase
AsyncHandler that can be used to notify a set of TransferListener
AsyncHttpClient client = new AsyncHttpClient();
TransferCompletionHandler tl = new TransferCompletionHandler();
tl.addTransferListener(new TransferListener() {
public void onRequestHeadersSent(HttpHeaders headers) {
}
public void onResponseHeadersReceived(HttpHeaders headers) {
}
public void onBytesReceived(ByteBuffer buffer) {
}
public void onBytesSent(long amount, long current, long total) {
}
public void onRequestResponseCompleted() {
}
public void onThrowable(Throwable t) {
}
});
Response response = httpClient.prepareGet("http://...").execute(tl).get();
AsyncHandler.State| Constructor and Description |
|---|
TransferCompletionHandler()
Create a TransferCompletionHandler that will not accumulate bytes.
|
TransferCompletionHandler(boolean accumulateResponseBytes)
Create a TransferCompletionHandler that can or cannot accumulate bytes and make it available when
Response.getResponseBody() get called. |
| Modifier and Type | Method and Description |
|---|---|
TransferCompletionHandler |
addTransferListener(TransferListener t) |
void |
headers(io.netty.handler.codec.http.HttpHeaders headers) |
AsyncHandler.State |
onBodyPartReceived(HttpResponseBodyPart content)
Invoked as soon as some response body part are received.
|
Response |
onCompleted(Response response)
Invoked once the HTTP response processing is finished.
|
AsyncHandler.State |
onContentWriteProgress(long amount,
long current,
long total)
Invoked when the I/O operation associated with the
Request body as been progressed. |
AsyncHandler.State |
onHeadersReceived(HttpResponseHeaders headers)
Invoked as soon as the HTTP headers has been received.
|
AsyncHandler.State |
onHeadersWritten()
Invoked when the content (a
File, String or FileInputStream has been fully
written on the I/O socket. |
void |
onThrowable(Throwable t)
Invoked when an unexpected exception occurs during the processing of the response.
|
TransferCompletionHandler |
removeTransferListener(TransferListener t) |
onCompleted, onContentWritten, onStatusReceivedpublic TransferCompletionHandler()
Response.getResponseBody(),
Response.getResponseBodyAsStream() will throw an IllegalStateException if called.public TransferCompletionHandler(boolean accumulateResponseBytes)
Response.getResponseBody() get called. The
default is false.accumulateResponseBytes - true to accumulates bytes in memory.public TransferCompletionHandler addTransferListener(TransferListener t)
public TransferCompletionHandler removeTransferListener(TransferListener t)
public void headers(io.netty.handler.codec.http.HttpHeaders headers)
public AsyncHandler.State onHeadersReceived(HttpResponseHeaders headers) throws Exception
AsyncCompletionHandleronHeadersReceived in interface AsyncHandler<Response>onHeadersReceived in class AsyncCompletionHandler<Response>headers - the HTTP headers.AsyncHandler.State telling to CONTINUE or ABORT the current processing.Exception - if something wrong happenspublic AsyncHandler.State onBodyPartReceived(HttpResponseBodyPart content) throws Exception
AsyncCompletionHandleronBodyPartReceived in interface AsyncHandler<Response>onBodyPartReceived in class AsyncCompletionHandler<Response>content - response's body part.AsyncHandler.State telling to CONTINUE or ABORT the current processing. Aborting will also close the connection.Exception - if something wrong happenspublic Response onCompleted(Response response) throws Exception
AsyncCompletionHandlerBaseonCompleted in class AsyncCompletionHandlerBaseresponse - The ResponseFutureException - if something wrong happenspublic AsyncHandler.State onHeadersWritten()
AsyncCompletionHandlerFile, String or FileInputStream has been fully
written on the I/O socket.onHeadersWritten in interface ProgressAsyncHandler<Response>onHeadersWritten in class AsyncCompletionHandler<Response>AsyncHandler.State telling to CONTINUE or ABORT the current processing.public AsyncHandler.State onContentWriteProgress(long amount, long current, long total)
AsyncCompletionHandlerRequest body as been progressed.onContentWriteProgress in interface ProgressAsyncHandler<Response>onContentWriteProgress in class AsyncCompletionHandler<Response>amount - The amount of bytes to transfercurrent - The amount of bytes transferredtotal - The total number of bytes transferredAsyncHandler.State telling to CONTINUE or ABORT the current processing.public void onThrowable(Throwable t)
AsyncCompletionHandleronThrowable in interface AsyncHandler<Response>onThrowable in class AsyncCompletionHandler<Response>t - a ThrowableCopyright © 2016. All Rights Reserved.