Interface HeadInterceptorBuilder


  • @Unstable
    public interface HeadInterceptorBuilder
    Configuration for an interceptor updating HTTP request/response head attributes (headers, path, query params).

    All configuration methods can be invoked several 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.

    • Method Detail

      • build

        HeadInterceptor build()
        Returns:
        an interceptor build according to builder requirements
      • updatingQueryParams

        HeadInterceptorBuilder updatingQueryParams​(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

        HeadInterceptorBuilder 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

        HeadInterceptorBuilder 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
      • updatingPath

        HeadInterceptorBuilder updatingPath​(java.util.function.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

        HeadInterceptorBuilder 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

        HeadInterceptorBuilder 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
      • updatingRequestHeaders

        HeadInterceptorBuilder updatingRequestHeaders​(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
      • updatingResponseHeaders

        HeadInterceptorBuilder updatingResponseHeaders​(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

        HeadInterceptorBuilder 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

        HeadInterceptorBuilder 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