| java.lang.Object sunlabs.brazil.handler.GenericProxyHandler
All known Subclasses: sunlabs.brazil.handler.MultiProxyHandler, sunlabs.brazil.handler.ProxyPropertiesHandler,
GenericProxyHandler | public class GenericProxyHandler implements Handler(Code) | | Handler for implementing a virtual web site.
This causes another web site to "appear" inside our document root.
This classes is intended to be sub-classed, so some of the methods
in this implementation don't do too much.
All of the appropriate links in HTML documents on the virtual
site are rewritten, so they appear to be local references.
This can be used on a firewall in conjunction with
AclSwitchHandler to provide authenticated acces to selected web sites.
Properties:
- prefix
- URL prefix must match
- host
- name of host site to proxy to.
- port
- Host port to proxy to (defaults to 80).
- proxyHost
- Which proxy host to use (if any)
to contact "host".
- proxyPort
- The proxy's port (defaults to 80)
author: Stephen Uhler version: 1.29, 01/01/16 |
Method Summary | |
public void | addMap(MapPage mapper) | public boolean | init(Server server, String prefix) Do one-time setup. | public boolean | isMine(Request request) See if this is one of my requests. | public byte[] | modifyContent(Request request, byte[] content) Rewrite the links in an html file so they resolve correctly
in proxy mode. | public boolean | respond(Request request) If this is one of "our" url's, fetch the document from
the destination server, and return it as if it was local. | protected boolean | shouldFilter(MimeHeaders headers) See if the content needs to be filtered. |
HOST | final public static String HOST(Code) | | Handler configuration property host.
The actual host site to appear on our site (required)
|
PORT | final public static String PORT(Code) | | Handler configuration property port.
The actual port on the host site (defaults to 80).
|
PREFIX | final public static String PREFIX(Code) | | Handler configuration property prefix.
Only URL's that begin with this string are considered by this handler.
The default is (/).
|
PROXY_HOST | final public static String PROXY_HOST(Code) | | Handler configuration property proxyHost.
The name of a proxy to use (if any) to get to the host.
|
PROXY_PORT | final public static String PROXY_PORT(Code) | | Handler configuration property proxyPort.
The proxy port to use to get to the host. defaults to 80.
|
proxyPort | protected int proxyPort(Code) | | |
init | public boolean init(Server server, String prefix)(Code) | | Do one-time setup.
get and process the handler properties.
we can contact the server identified by the host parameter.
|
isMine | public boolean isMine(Request request)(Code) | | See if this is one of my requests.
This method can be overridden to do more sophisticated mappings.
Parameters: request - The standard request object |
modifyContent | public byte[] modifyContent(Request request, byte[] content)(Code) | | Rewrite the links in an html file so they resolve correctly
in proxy mode.
Parameters: request - The original request to this "proxy" Parameters: headers - The vector of mime headers for the proxy request true if the headers and content should be sent to the client, false otherwiseModifies "headers" as a side effect |
respond | public boolean respond(Request request) throws IOException(Code) | | If this is one of "our" url's, fetch the document from
the destination server, and return it as if it was local.
|
shouldFilter | protected boolean shouldFilter(MimeHeaders headers)(Code) | | See if the content needs to be filtered.
Return "true" if "modifyContent" should be called
Parameters: headers - Vector of mime headers for data to proxy |
|
|