public class NettyAsyncHttpProvider extends org.jboss.netty.channel.SimpleChannelUpstreamHandler implements AsyncHttpProvider
Modifier and Type | Class and Description |
---|---|
static class |
NettyAsyncHttpProvider.OptimizedFileRegion |
static class |
NettyAsyncHttpProvider.ThreadLocalBoolean |
Modifier and Type | Field and Description |
---|---|
static String |
GZIP_DEFLATE |
static String |
HTTP_HANDLER |
static String |
HTTP_PROCESSOR |
static ThreadLocal<Boolean> |
IN_IO_THREAD |
static IOException |
REMOTELY_CLOSED_EXCEPTION |
static String |
SSL_HANDLER |
static String |
WS_PROCESSOR |
Constructor and Description |
---|
NettyAsyncHttpProvider(AsyncHttpClientConfig config) |
Modifier and Type | Method and Description |
---|---|
void |
abort(NettyResponseFuture<?> future,
Throwable t) |
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,
ProxyServer proxyServer) |
void |
channelClosed(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent e) |
void |
close()
Close the current underlying TCP/HTTP connection.
|
protected void |
configureHttpClientCodec() |
protected void |
configureHttpsClientCodec() |
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() |
boolean |
isClose() |
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,
ProxyServer proxyServer) |
org.jboss.netty.util.Timeout |
newTimeoutInMs(org.jboss.netty.util.TimerTask task,
long delayInMs) |
Response |
prepareResponse(HttpResponseStatus status,
HttpResponseHeaders headers,
List<HttpResponseBodyPart> bodyParts)
Prepare a
Response |
protected boolean |
remotelyClosed(org.jboss.netty.channel.Channel channel,
NettyResponseFuture<?> future) |
protected static int |
requestTimeoutInMs(AsyncHttpClientConfig config,
PerRequestConfig perRequestConfig) |
String |
toString() |
protected <T> void |
writeRequest(org.jboss.netty.channel.Channel channel,
AsyncHttpClientConfig config,
NettyResponseFuture<T> future) |
public static final String GZIP_DEFLATE
public static final IOException REMOTELY_CLOSED_EXCEPTION
public static final String HTTP_HANDLER
public static final String SSL_HANDLER
public static final String HTTP_PROCESSOR
public static final String WS_PROCESSOR
public static final ThreadLocal<Boolean> IN_IO_THREAD
public NettyAsyncHttpProvider(AsyncHttpClientConfig config)
protected void configureHttpClientCodec()
protected void configureHttpsClientCodec()
protected final <T> void writeRequest(org.jboss.netty.channel.Channel channel, AsyncHttpClientConfig config, NettyResponseFuture<T> future)
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, ProxyServer proxyServer) throws IOException
IOException
public void close()
AsyncHttpProvider
close
in interface AsyncHttpProvider
public Response prepareResponse(HttpResponseStatus status, HttpResponseHeaders headers, List<HttpResponseBodyPart> bodyParts)
AsyncHttpProvider
Response
prepareResponse
in interface AsyncHttpProvider
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
asyncHandler
- an instance of AsyncHandler
ListenableFuture
of Type T.IOException
protected static int requestTimeoutInMs(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 abort(NettyResponseFuture<?> future, Throwable t)
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, ProxyServer proxyServer)
protected AsyncHttpClientConfig getConfig()
public boolean isClose()
public org.jboss.netty.util.Timeout newTimeoutInMs(org.jboss.netty.util.TimerTask task, long delayInMs)
Copyright © 2014. All Rights Reserved.