org.mortbay.http.handler
Class ProxyHandler

java.lang.Object
  extended byorg.mortbay.http.handler.AbstractHttpHandler
      extended byorg.mortbay.http.handler.ProxyHandler
All Implemented Interfaces:
HttpHandler, LifeCycle, java.io.Serializable

public class ProxyHandler
extends AbstractHttpHandler

Proxy request handler. A HTTP/1.1 Proxy. This implementation uses the JVMs URL implementation to make proxy requests.

The HttpTunnel mechanism is also used to implement the CONNECT method.

Version:
$Id: ProxyHandler.java,v 1.34 2005/10/05 13:32:59 gregwilkins Exp $
Author:
Greg Wilkins (gregw), giacof@tiscali.it (chained proxy)
See Also:
Serialized Form

Constructor Summary
ProxyHandler()
           
 
Method Summary
 java.lang.String[] getProxyHostsBlackList()
          Get proxy host black list.
 java.lang.String[] getProxyHostsWhiteList()
          Get proxy host white list.
 int getTunnelTimeoutMs()
           
 void handle(java.lang.String pathInContext, java.lang.String pathParams, HttpRequest request, HttpResponse response)
          Handle a request.
 void handleConnect(java.lang.String pathInContext, java.lang.String pathParams, HttpRequest request, HttpResponse response)
           
 boolean isAnonymous()
           
 void setAnonymous(boolean anonymous)
           
 void setProxyHostsBlackList(java.lang.String[] hosts)
          Set proxy host black list.
 void setProxyHostsWhiteList(java.lang.String[] hosts)
          Set proxy host white list.
 void setTunnelTimeoutMs(int ms)
          Tunnel timeout.
 void start()
          Start the LifeCycle.
 
Methods inherited from class org.mortbay.http.handler.AbstractHttpHandler
getHttpContext, getName, handleTrace, initialize, isStarted, setName, stop, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProxyHandler

public ProxyHandler()
Method Detail

start

public void start()
           throws java.lang.Exception
Description copied from interface: LifeCycle
Start the LifeCycle.

Specified by:
start in interface LifeCycle
Overrides:
start in class AbstractHttpHandler
Throws:
java.lang.Exception

getProxyHostsWhiteList

public java.lang.String[] getProxyHostsWhiteList()
Get proxy host white list.

Returns:
Array of hostnames and IPs that are proxied, or an empty array if all hosts are proxied.

setProxyHostsWhiteList

public void setProxyHostsWhiteList(java.lang.String[] hosts)
Set proxy host white list.

Parameters:
hosts - Array of hostnames and IPs that are proxied, or null if all hosts are proxied.

getProxyHostsBlackList

public java.lang.String[] getProxyHostsBlackList()
Get proxy host black list.

Returns:
Array of hostnames and IPs that are NOT proxied.

setProxyHostsBlackList

public void setProxyHostsBlackList(java.lang.String[] hosts)
Set proxy host black list.

Parameters:
hosts - Array of hostnames and IPs that are NOT proxied.

getTunnelTimeoutMs

public int getTunnelTimeoutMs()

setTunnelTimeoutMs

public void setTunnelTimeoutMs(int ms)
Tunnel timeout. IE on win2000 has connections issues with normal timeout handling. This timeout should be set to a low value that will expire to allow IE to see the end of the tunnel connection.


handle

public void handle(java.lang.String pathInContext,
                   java.lang.String pathParams,
                   HttpRequest request,
                   HttpResponse response)
            throws HttpException,
                   java.io.IOException
Description copied from interface: HttpHandler
Handle a request. Note that Handlers are tried in order until one has handled the request. i.e. until request.isHandled() returns true. In broad terms this means, either a response has been commited or request.setHandled(true) has been called.

Parameters:
pathInContext - The context path
pathParams - Path parameters such as encoded Session ID
request - The HttpRequest request
response - The HttpResponse response
Throws:
HttpException
java.io.IOException

handleConnect

public void handleConnect(java.lang.String pathInContext,
                          java.lang.String pathParams,
                          HttpRequest request,
                          HttpResponse response)
                   throws HttpException,
                          java.io.IOException
Throws:
HttpException
java.io.IOException

isAnonymous

public boolean isAnonymous()
Returns:
Returns the anonymous.

setAnonymous

public void setAnonymous(boolean anonymous)
Parameters:
anonymous - The anonymous to set.


Copyright © 2004 Mortbay Consulting Pty. Ltd. All Rights Reserved.