Class RequestRouter.Builder<T>

java.lang.Object
org.apache.hc.core5.http.impl.routing.RequestRouter.Builder<T>
Enclosing class:
RequestRouter<T>

public static class RequestRouter.Builder<T> extends Object
  • Method Details

    • addRoute

      public RequestRouter.Builder<T> addRoute(URIAuthority authority, String pathPattern, T handler)
      Adds a route with given authority and path pattern. Requests with the same authority and matching the path pattern will be routed for execution to the handler.
    • addRoute

      public RequestRouter.Builder<T> addRoute(String hostname, String pathPattern, T handler)
      Adds a route with given hostname and path pattern. Requests with the same hostname and matching the path pattern will be routed for execution to the handler.
    • resolveAuthority

      public RequestRouter.Builder<T> resolveAuthority(BiFunction<String,URIAuthority,URIAuthority> authorityResolver)
      Sets custom URIAuthority resolution Function that can be used to normalize or re-write the authority specified in incoming requests prior to request routing. The function can return a new URIAuthority instance representing an identity of the service authoritative to handle the request or null if an authoritative service cannot be found or is unknown.
    • downstream

      public RequestRouter.Builder<T> downstream(HttpRequestMapper<T> downstream)
      Sets a downstream request mapper that can be used as a fallback in case no authoritative service can be found to handle an incoming request. Using this method request mappers can be linked to form a chain of responsibility, with each link representing a different authority.
    • build

      public RequestRouter<T> build()