-
- 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 HttpProxyaddInterceptor(ProxyInterceptor interceptor)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
HttpProxy addInterceptor(ProxyInterceptor interceptor)
Add an interceptor to the interceptor chain.- Parameters:
interceptor-- 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
-
-