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

    Modifier and Type
    Method
    Description
    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.
    determineRoute(org.apache.hc.core5.http.HttpHost target, org.apache.hc.core5.http.protocol.HttpContext context)
    Determines the route for the given host.
  • Method Details

    • 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