org.littleshoot.proxy
Class HttpRelayingHandler
java.lang.Object
org.jboss.netty.channel.SimpleChannelUpstreamHandler
org.littleshoot.proxy.HttpRelayingHandler
- All Implemented Interfaces:
- org.jboss.netty.channel.ChannelHandler, org.jboss.netty.channel.ChannelUpstreamHandler, InterestOpsListener
public class HttpRelayingHandler
- extends org.jboss.netty.channel.SimpleChannelUpstreamHandler
- implements InterestOpsListener
Class that simply relays traffic from a remote server the proxy is
connected to back to the browser/client.
| Nested classes/interfaces inherited from interface org.jboss.netty.channel.ChannelHandler |
org.jboss.netty.channel.ChannelHandler.Sharable |
|
Method Summary |
void |
channelClosed(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent e)
|
void |
channelConnected(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent e)
|
void |
channelInterestChanged(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent cse)
|
void |
channelOpen(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent cse)
|
void |
channelWritable(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent cse)
|
void |
exceptionCaught(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ExceptionEvent e)
|
void |
messageReceived(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.MessageEvent me)
|
void |
requestEncoded(org.jboss.netty.handler.codec.http.HttpRequest request)
Adds this HTTP request. |
| Methods inherited from class org.jboss.netty.channel.SimpleChannelUpstreamHandler |
channelBound, channelDisconnected, channelUnbound, childChannelClosed, childChannelOpen, handleUpstream, writeComplete |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HttpRelayingHandler
public HttpRelayingHandler(org.jboss.netty.channel.Channel browserToProxyChannel,
org.jboss.netty.channel.group.ChannelGroup channelGroup,
RelayListener relayListener,
String hostAndPort)
- Creates a new
HttpRelayingHandler with the specified connection
to the browser.
- Parameters:
browserToProxyChannel - The browser connection.channelGroup - Keeps track of channels to close on shutdown.relayListener - The relay listener.hostAndPort - Host and port we're relaying to.
HttpRelayingHandler
public HttpRelayingHandler(org.jboss.netty.channel.Channel browserToProxyChannel,
org.jboss.netty.channel.group.ChannelGroup channelGroup,
HttpFilter filter,
RelayListener relayListener,
String hostAndPort)
- Creates a new
HttpRelayingHandler with the specified connection
to the browser.
- Parameters:
browserToProxyChannel - The browser connection.channelGroup - Keeps track of channels to close on shutdown.filter - The HTTP filter.relayListener - The relay listener.hostAndPort - Host and port we're relaying to.
messageReceived
public void messageReceived(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.MessageEvent me)
throws Exception
- Overrides:
messageReceived in class org.jboss.netty.channel.SimpleChannelUpstreamHandler
- Throws:
Exception
channelInterestChanged
public void channelInterestChanged(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent cse)
throws Exception
- Overrides:
channelInterestChanged in class org.jboss.netty.channel.SimpleChannelUpstreamHandler
- Throws:
Exception
channelConnected
public void channelConnected(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent e)
throws Exception
- Overrides:
channelConnected in class org.jboss.netty.channel.SimpleChannelUpstreamHandler
- Throws:
Exception
channelOpen
public void channelOpen(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent cse)
throws Exception
- Overrides:
channelOpen in class org.jboss.netty.channel.SimpleChannelUpstreamHandler
- Throws:
Exception
channelClosed
public void channelClosed(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent e)
throws Exception
- Overrides:
channelClosed in class org.jboss.netty.channel.SimpleChannelUpstreamHandler
- Throws:
Exception
exceptionCaught
public void exceptionCaught(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ExceptionEvent e)
throws Exception
- Overrides:
exceptionCaught in class org.jboss.netty.channel.SimpleChannelUpstreamHandler
- Throws:
Exception
requestEncoded
public void requestEncoded(org.jboss.netty.handler.codec.http.HttpRequest request)
- Adds this HTTP request. We need to keep track of all encoded requests
because we ultimately need the request data to determine whether or not
we can cache responses. It's a queue because we're dealing with HTTP 1.1
persistent connections, and we need to match all requests with responses.
NOTE that this is the original, unmodified request in this case without
hop-by-hop headers stripped and without HTTP request filters applied.
It's the raw request we received from the client connection.
See ProxyHttpRequestEncoder.
- Parameters:
request - The HTTP request to add.
channelWritable
public void channelWritable(org.jboss.netty.channel.ChannelHandlerContext ctx,
org.jboss.netty.channel.ChannelStateEvent cse)
- Specified by:
channelWritable in interface InterestOpsListener
Copyright © 2009-2013 LittleShoot. All Rights Reserved.