-
- All Superinterfaces:
Handler<HttpServerRequest>
public interface HttpProxy extends Handler<HttpServerRequest>
Handles the HTTP reverse proxy logic between the user agent and the origin.- Author:
- Julien Viet
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default HttpProxyaddInterceptor(ProxyInterceptor interceptor)Add an interceptor to the interceptor chain.HttpProxyaddInterceptor(ProxyInterceptor interceptor, boolean supportsWebSocketUpgrade)Add an interceptor to the interceptor chain.voidhandle(HttpServerRequest request)Handle the outboundHttpServerRequest.default HttpProxyorigin(int port, String host)Set the host name and port number of the origin.default HttpProxyorigin(SocketAddress address)Set theSocketAddressof the origin.HttpProxyoriginRequestProvider(BiFunction<HttpServerRequest,HttpClient,Future<HttpClientRequest>> provider)Set a provider that creates the request to the origin server based the incoming HTTP request.default HttpProxyoriginSelector(Function<HttpServerRequest,Future<SocketAddress>> selector)Set a selector that resolves the origin address based on the incoming HTTP request.static HttpProxyreverseProxy(HttpClient client)Create a newHttpProxyinstance.static HttpProxyreverseProxy(ProxyOptions options, HttpClient client)Create a newHttpProxyinstance.
-
-
-
Method Detail
-
reverseProxy
static HttpProxy reverseProxy(HttpClient client)
Create a newHttpProxyinstance.- Parameters:
client- theHttpClientthat forwards outbound requests to the origin.- Returns:
- a reference to this, so the API can be used fluently.
-
reverseProxy
static HttpProxy reverseProxy(ProxyOptions options, HttpClient client)
Create a newHttpProxyinstance.- Parameters:
client- theHttpClientthat forwards outbound requests to the origin.- Returns:
- a reference to this, so the API can be used fluently.
-
origin
default HttpProxy origin(SocketAddress address)
Set theSocketAddressof the origin.- Parameters:
address- theSocketAddressof the origin- Returns:
- a reference to this, so the API can be used fluently
-
origin
default HttpProxy origin(int port, String host)
Set the host name and port number of the origin.- Parameters:
port- the port number of the origin serverhost- the host name of the origin server- Returns:
- a reference to this, so the API can be used fluently
-
originSelector
default HttpProxy originSelector(Function<HttpServerRequest,Future<SocketAddress>> selector)
Set a selector that resolves the origin address based on the incoming HTTP request.- Parameters:
selector- the selector- Returns:
- a reference to this, so the API can be used fluently
-
originRequestProvider
HttpProxy originRequestProvider(BiFunction<HttpServerRequest,HttpClient,Future<HttpClientRequest>> provider)
Set a provider that creates the request to the origin server based the incoming HTTP request. Setting a provider overrides any origin selector previously set.- Parameters:
provider- the provider- Returns:
- a reference to this, so the API can be used fluently
-
addInterceptor
default HttpProxy addInterceptor(ProxyInterceptor interceptor)
Add an interceptor to the interceptor chain.Interceptors are invoked in order of configuration. When added with this method, it is considered the interceptor doesn't support WebSocket upgrades.
- Parameters:
interceptor- theProxyInterceptorto add- Returns:
- a reference to this, so the API can be used fluently
-
addInterceptor
HttpProxy addInterceptor(ProxyInterceptor interceptor, boolean supportsWebSocketUpgrade)
Add an interceptor to the interceptor chain.Interceptors are invoked in order of configuration.
- Parameters:
interceptor- theProxyInterceptorto addsupportsWebSocketUpgrade- whether the interceptor supports WebSocket upgrades- Returns:
- a reference to this, so the API can be used fluently
-
handle
void handle(HttpServerRequest request)
Handle the outboundHttpServerRequest.- Specified by:
handlein interfaceHandler<HttpServerRequest>- Parameters:
request- the outboundHttpServerRequest
-
-