Class ProxyHandler.Reverse
- All Implemented Interfaces:
- Handler, Request.Handler, Container, Destroyable, Dumpable, Dumpable.DumpableContainer, LifeCycle, Invocable
- Direct Known Subclasses:
- FastCGIProxyHandler
- Enclosing class:
- ProxyHandler
A ProxyHandler that can be used to implement a reverse proxy.
A reverse proxy must rewrite the client-to-proxy request URI into the
proxy-to-server request URI.
This can be done by providing a rewrite function to the constructor,
and/or override rewriteHttpURI(Request).
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from class ProxyHandlerProxyHandler.Forward, ProxyHandler.ProxyRequestContent, ProxyHandler.ProxyResponseListener, ProxyHandler.ReverseNested classes/interfaces inherited from class Handler.AbstractHandler.Abstract.NonBlockingNested classes/interfaces inherited from class AbstractLifeCycleAbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopExceptionNested classes/interfaces inherited from interface ContainerContainer.InheritedListener, Container.ListenerNested classes/interfaces inherited from interface DumpableDumpable.DumpableContainerNested classes/interfaces inherited from interface HandlerHandler.Abstract, Handler.AbstractContainer, Handler.Collection, Handler.Container, Handler.Sequence, Handler.Singleton, Handler.WrapperNested classes/interfaces inherited from interface InvocableInvocable.Callable, Invocable.InvocationType, Invocable.ReadyTask, Invocable.TaskNested classes/interfaces inherited from interface LifeCycleLifeCycle.ListenerNested classes/interfaces inherited from interface Request.HandlerRequest.Handler.AbortException
- 
Field SummaryFields inherited from interface Invocable__nonBlocking, NOOP
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected HttpURIrewriteHttpURI(Request clientToProxyRequest) Rewrites the client-to-proxy request URI to the proxy-to-server request URI.Methods inherited from class ProxyHandleraddForwardedHeader, addProxyHeaders, addViaHeader, configureHttpClient, copyRequestHeaders, doStart, filterServerToProxyResponseField, getHttpClient, getProxyToServerHost, getViaHost, handle, newHttpClient, newProxyToServerRequest, newProxyToServerRequestContent, newServerToProxyResponseListener, onProxyToClientResponseComplete, onProxyToClientResponseFailure, onServerToProxyResponse100Continue, onServerToProxyResponse102Processing, onServerToProxyResponse103EarlyHints, onServerToProxyResponseFailure, requestId, sendProxyToServerRequest, setHttpClient, setProxyToServerHost, setViaHostMethods inherited from class Handler.Abstractdestroy, doStop, getInvocationType, getServer, setServerMethods inherited from class ContainerLifeCycleaddBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, installBean, installBean, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeansMethods inherited from class AbstractLifeCyclegetEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop, toStringMethods inherited from class Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ContainergetCachedBeans, getEventListenersMethods inherited from interface Dumpable.DumpableContainerisDumpableMethods inherited from interface LifeCycleaddEventListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeEventListener, start, stop
- 
Constructor Details- 
ReverseConvenience constructor that provides a rewrite function using String.replaceAll(String, String).As a simple example, given the URI pattern of: (https?)://([a-z]+):([0-9]+)/([^/]+)/(.*)and given a replacement string of: $1://$2:9000/proxy/$5an incoming HttpURIof:http://host:8080/ctx/pathwill be rewritten as: http://host:9000/proxy/path- Parameters:
- uriPattern- the regex pattern to use to match the incoming URI
- uriReplacement- the replacement string to use to rewrite the incoming URI
 
- 
Reverse
 
- 
- 
Method Details- 
getHttpURIRewriter
- 
rewriteHttpURIRewrites the client-to-proxy request URI to the proxy-to-server request URI. Applications that use this class typically provide a rewrite function to the constructor. The rewrite function rewrites the client-to-proxy request URI, for example http://example.com/app/path, to the proxy-to-server request URI, for examplehttp://backend1:8080/legacy/path.- Specified by:
- rewriteHttpURIin class- ProxyHandler
- Parameters:
- clientToProxyRequest- the client-to-proxy request
- Returns:
- the proxy-to-server request URI.
 
 
-