Package io.vertx.httpproxy
Interface ProxyInterceptorBuilder
-
@Unstable public interface ProxyInterceptorBuilder
>Builder class for a customizable interceptor capable of transforming HTTP request/response head attributes (headers, path, query params) as well as transforming the HTTP body.
Head transformation methods can be invoked multiple times. Operations on the path will be invoked in the order of configuration, that goes for operations on request headers, response headers and query parameters.Body transformation can be achieved with
transformingResponseBody(BodyTransformer)
andtransformingRequestBody(BodyTransformer)
. Body transformation buffer the body content and then applies a transforming function before sending the response.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ProxyInterceptorBuilder
addingPathPrefix(String prefix)
Add a prefix to the URI.ProxyInterceptor
build()
ProxyInterceptorBuilder
filteringRequestHeaders(Set<CharSequence> forbiddenRequestHeaders)
Filter the request headers in the given set.ProxyInterceptorBuilder
filteringResponseHeaders(Set<CharSequence> forbiddenResponseHeaders)
Filter the response headers in the given set.ProxyInterceptorBuilder
removingPathPrefix(String prefix)
Remove a prefix to the URI.ProxyInterceptorBuilder
removingQueryParam(String name)
Remove a query parameter from the request.ProxyInterceptorBuilder
settingQueryParam(String name, String value)
Add a query parameter to the request.ProxyInterceptorBuilder
transformingPath(Function<String,String> mutator)
Apply a callback to change the request URI when the proxy receives it.ProxyInterceptorBuilder
transformingQueryParams(Handler<MultiMap> updater)
Apply modifications to the query parameters.ProxyInterceptorBuilder
transformingRequestBody(BodyTransformer requestTransformer)
Apply a transformation to change the request body when the proxy receives it.ProxyInterceptorBuilder
transformingRequestHeaders(Handler<MultiMap> requestHeadersUpdater)
Apply callbacks to change the request headers when the proxy receives them.ProxyInterceptorBuilder
transformingResponseBody(BodyTransformer responseTransformer)
Apply a transformation to change the response body when the proxy receives it.ProxyInterceptorBuilder
transformingResponseHeaders(Handler<MultiMap> responseHeadersUpdater)
Apply callbacks to change the response headers when the proxy receives them.
-
-
-
Method Detail
-
build
ProxyInterceptor build()
- Returns:
- the proxy interceptor build according to builder requirements
-
transformingQueryParams
ProxyInterceptorBuilder transformingQueryParams(Handler<MultiMap> updater)
Apply modifications to the query parameters.- Parameters:
updater
- the operation to apply to the request query parameters (can be null, but in this case nothing happens)- Returns:
- a reference to this, so the API can be used fluently
-
settingQueryParam
ProxyInterceptorBuilder settingQueryParam(String name, String value)
Add a query parameter to the request.- Parameters:
name
- the parameter name (can be null, but in this case nothing happens)value
- the parameter value (can be null, but in this case nothing happens)- Returns:
- a reference to this, so the API can be used fluently
-
removingQueryParam
ProxyInterceptorBuilder removingQueryParam(String name)
Remove a query parameter from the request.- Parameters:
name
- the parameter name (can be null, but in this case nothing happens)- Returns:
- a reference to this, so the API can be used fluently
-
transformingPath
ProxyInterceptorBuilder transformingPath(Function<String,String> mutator)
Apply a callback to change the request URI when the proxy receives it.- Parameters:
mutator
- the operation that applied to the path (can be null, but in this case nothing happens)- Returns:
- a reference to this, so the API can be used fluently
-
addingPathPrefix
ProxyInterceptorBuilder addingPathPrefix(String prefix)
Add a prefix to the URI.- Parameters:
prefix
- the prefix that need to be added (can be null, but in this case nothing happens)- Returns:
- a reference to this, so the API can be used fluently
-
removingPathPrefix
ProxyInterceptorBuilder removingPathPrefix(String prefix)
Remove a prefix to the URI. Do nothing if it doesn't exist.- Parameters:
prefix
- the prefix that need to be removed (can be null, but in this case nothing happens)- Returns:
- a reference to this, so the API can be used fluently
-
transformingRequestHeaders
ProxyInterceptorBuilder transformingRequestHeaders(Handler<MultiMap> requestHeadersUpdater)
Apply callbacks to change the request headers when the proxy receives them.- Parameters:
requestHeadersUpdater
- the operation to apply to the request headers (can be null, but in this case nothing happens)- Returns:
- a reference to this, so the API can be used fluently
-
transformingResponseHeaders
ProxyInterceptorBuilder transformingResponseHeaders(Handler<MultiMap> responseHeadersUpdater)
Apply callbacks to change the response headers when the proxy receives them.- Parameters:
responseHeadersUpdater
- the operation to apply to the response headers (can be null, but in this case nothing happens)- Returns:
- a reference to this, so the API can be used fluently
-
filteringRequestHeaders
ProxyInterceptorBuilder filteringRequestHeaders(Set<CharSequence> forbiddenRequestHeaders)
Filter the request headers in the given set.- Parameters:
forbiddenRequestHeaders
- a set of the headers that need to be filtered (can be null, but in this case nothing happens)- Returns:
- a reference to this, so the API can be used fluently
-
filteringResponseHeaders
ProxyInterceptorBuilder filteringResponseHeaders(Set<CharSequence> forbiddenResponseHeaders)
Filter the response headers in the given set.- Parameters:
forbiddenResponseHeaders
- a set of the headers that need to be filtered (can be null, but in this case nothing happens)- Returns:
- a reference to this, so the API can be used fluently
-
transformingRequestBody
ProxyInterceptorBuilder transformingRequestBody(BodyTransformer requestTransformer)
Apply a transformation to change the request body when the proxy receives it.
The interceptor fully buffers the request body and then applies the transformation.
- Parameters:
requestTransformer
- the operation to apply to the request body- Returns:
- the created interceptor
-
transformingResponseBody
ProxyInterceptorBuilder transformingResponseBody(BodyTransformer responseTransformer)
Apply a transformation to change the response body when the proxy receives it.
The interceptor fully buffers the response body and then applies the transformation.
- Parameters:
responseTransformer
- the operation to apply to the response body- Returns:
- the created interceptor
-
-