org.apache.http.conn.routing

## Interface HttpRoutePlanner

- All Known Implementing Classes:
    DefaultHttpRoutePlanner, DefaultProxyRoutePlanner, DefaultRoutePlanner, ProxySelectorRoutePlanner, SystemDefaultRoutePlanner

      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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HttpRoute` | `determineRoute(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, org.apache.http.protocol.HttpContext context)` Determines the route for a request.

- - ### Method Detail

    - #### determineRoute

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

      Determines the route for a request.
      Parameters:
        `target` - the target host for the request. Implementations may accept `null` if they can still determine a route, for example to a default target or by inspecting the request.
        `request` - the request to execute
        `context` - the context to use for the subsequent execution. Implementations may accept `null`.
      Returns:
        the route that the request should take
      Throws:
        `org.apache.http.HttpException` - in case of a problem

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