public class NettyAsyncHttpProvider extends org.jboss.netty.channel.SimpleChannelUpstreamHandler implements AsyncHttpProvider<org.jboss.netty.handler.codec.http.HttpResponse>
Modifier and Type | Class and Description |
---|---|
static class |
NettyAsyncHttpProvider.OptimizedFileRegion |
static class |
NettyAsyncHttpProvider.ThreadLocalBoolean |
Modifier and Type | Field and Description |
---|---|
static ThreadLocal<Boolean> |
IN_IO_THREAD |
Constructor and Description |
---|
NettyAsyncHttpProvider(AsyncHttpClientConfig config) |
Modifier and Type | Method and Description |
---|---|
protected static boolean |
abortOnConnectCloseException(Throwable cause) |
protected static boolean |
abortOnDisconnectException(Throwable cause) |
protected static boolean |
abortOnReadCloseException(Throwable cause) |
protected static boolean |
abortOnWriteCloseException(Throwable cause) |
protected static org.jboss.netty.handler.codec.http.HttpRequest |
buildRequest(AsyncHttpClientConfig config,
Request request,
URI uri,
boolean allowConnect,
org.jboss.netty.buffer.ChannelBuffer buffer) |
void |
channelClosed(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent e) |
void |
close()
Close the current underlying TCP/HTTP connection.
|
void |
exceptionCaught(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ExceptionEvent e) |
<T> ListenableFuture<T> |
execute(Request request,
AsyncHandler<T> asyncHandler)
Execute the request and invoke the
AsyncHandler when the response arrive. |
protected AsyncHttpClientConfig |
getConfig() |
void |
messageReceived(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.MessageEvent e) |
static <T> NettyResponseFuture<T> |
newFuture(URI uri,
Request request,
AsyncHandler<T> asyncHandler,
org.jboss.netty.handler.codec.http.HttpRequest nettyRequest,
AsyncHttpClientConfig config,
NettyAsyncHttpProvider provider) |
Response |
prepareResponse(HttpResponseStatus status,
HttpResponseHeaders headers,
Collection<HttpResponseBodyPart> bodyParts)
Prepare a
Response |
protected boolean |
remotelyClosed(org.jboss.netty.channel.Channel channel,
NettyResponseFuture<?> future) |
protected static int |
requestTimeout(AsyncHttpClientConfig config,
PerRequestConfig perRequestConfig) |
protected <T> void |
writeRequest(org.jboss.netty.channel.Channel channel,
AsyncHttpClientConfig config,
NettyResponseFuture<T> future,
org.jboss.netty.handler.codec.http.HttpRequest nettyRequest) |
public static final ThreadLocal<Boolean> IN_IO_THREAD
public NettyAsyncHttpProvider(AsyncHttpClientConfig config)
protected final <T> void writeRequest(org.jboss.netty.channel.Channel channel, AsyncHttpClientConfig config, NettyResponseFuture<T> future, org.jboss.netty.handler.codec.http.HttpRequest nettyRequest)
protected static final org.jboss.netty.handler.codec.http.HttpRequest buildRequest(AsyncHttpClientConfig config, Request request, URI uri, boolean allowConnect, org.jboss.netty.buffer.ChannelBuffer buffer) throws IOException
IOException
public void close()
AsyncHttpProvider
close
in interface AsyncHttpProvider<org.jboss.netty.handler.codec.http.HttpResponse>
public Response prepareResponse(HttpResponseStatus status, HttpResponseHeaders headers, Collection<HttpResponseBodyPart> bodyParts)
AsyncHttpProvider
Response
prepareResponse
in interface AsyncHttpProvider<org.jboss.netty.handler.codec.http.HttpResponse>
status
- HttpResponseStatus
headers
- HttpResponseHeaders
bodyParts
- list of HttpResponseBodyPart
Response
public <T> ListenableFuture<T> execute(Request request, AsyncHandler<T> asyncHandler) throws IOException
AsyncHttpProvider
AsyncHandler
when the response arrive.execute
in interface AsyncHttpProvider<org.jboss.netty.handler.codec.http.HttpResponse>
asyncHandler
- an instance of AsyncHandler
ListenableFuture
of Type T.IOException
protected static int requestTimeout(AsyncHttpClientConfig config, PerRequestConfig perRequestConfig)
public void messageReceived(org.jboss.netty.channel.ChannelHandlerContext ctx, org.jboss.netty.channel.MessageEvent e) throws Exception
messageReceived
in class org.jboss.netty.channel.SimpleChannelUpstreamHandler
Exception
public void channelClosed(org.jboss.netty.channel.ChannelHandlerContext ctx, org.jboss.netty.channel.ChannelStateEvent e) throws Exception
channelClosed
in class org.jboss.netty.channel.SimpleChannelUpstreamHandler
Exception
protected boolean remotelyClosed(org.jboss.netty.channel.Channel channel, NettyResponseFuture<?> future)
public void exceptionCaught(org.jboss.netty.channel.ChannelHandlerContext ctx, org.jboss.netty.channel.ExceptionEvent e) throws Exception
exceptionCaught
in class org.jboss.netty.channel.SimpleChannelUpstreamHandler
Exception
protected static boolean abortOnConnectCloseException(Throwable cause)
protected static boolean abortOnDisconnectException(Throwable cause)
protected static boolean abortOnReadCloseException(Throwable cause)
protected static boolean abortOnWriteCloseException(Throwable cause)
public static <T> NettyResponseFuture<T> newFuture(URI uri, Request request, AsyncHandler<T> asyncHandler, org.jboss.netty.handler.codec.http.HttpRequest nettyRequest, AsyncHttpClientConfig config, NettyAsyncHttpProvider provider)
protected AsyncHttpClientConfig getConfig()
Copyright © 2012. All Rights Reserved.