org.apache.hc.client5.http.routing

## Interface HttpRoutePlanner

- All Known Implementing Classes:
    DefaultProxyRoutePlanner, DefaultRoutePlanner, SystemDefaultRoutePlanner

      @Contract(threading=STATELESS)
      public interface HttpRoutePlanner

  Encapsulates logic to compute a `HttpRoute` to a target host. Implementations may for example be based on parameters, or on the standard Java system properties.

  Implementations of this interface must be thread-safe. Access to shared data must be synchronized as methods of this interface may be executed from multiple threads.

  Since:
    4.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `HttpRoute` | `determineRoute(org.apache.hc.core5.http.HttpHost target, org.apache.hc.core5.http.protocol.HttpContext context)` Determines the route for the given host.
    `default HttpRoute` | `determineRoute(org.apache.hc.core5.http.HttpHost target, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.protocol.HttpContext context)` Determines the route for the given host.

- - ### Method Detail

    - #### determineRoute

          HttpRoute determineRoute(org.apache.hc.core5.http.HttpHost target,
                                   org.apache.hc.core5.http.protocol.HttpContext context)
                            throws org.apache.hc.core5.http.HttpException

      Determines the route for the given host.
      Parameters:
        `target` - the target host for the request.
        `context` - the context to use for the subsequent execution. Implementations may accept `null`.
      Returns:
        the route that the request should take
      Throws:
        `org.apache.hc.core5.http.HttpException` - in case of a problem

    - #### determineRoute

          default HttpRoute determineRoute(org.apache.hc.core5.http.HttpHost target,
                                           org.apache.hc.core5.http.HttpRequest request,
                                           org.apache.hc.core5.http.protocol.HttpContext context)
                                    throws org.apache.hc.core5.http.HttpException

      Determines the route for the given host.
      Parameters:
        `target` - the target host for the request.
        `request` - the request message. Can be `null` if not given / known.
        `context` - the context to use for the subsequent execution. Implementations may accept `null`.
      Returns:
        the route that the request should take
      Throws:
        `org.apache.hc.core5.http.HttpException` - in case of a problem.
      Since:
        5.4

Copyright © 1999–2021 The Apache Software Foundation. All rights reserved.