org.apache.hc.client5.http.impl.routing

## Class DefaultRoutePlanner

- java.lang.Object
- - org.apache.hc.client5.http.impl.routing.DefaultRoutePlanner

- All Implemented Interfaces:
    HttpRoutePlanner
  Direct Known Subclasses:
    DefaultProxyRoutePlanner, SystemDefaultRoutePlanner

      @Contract(threading=STATELESS)
      public class DefaultRoutePlanner
      extends Object
      implements HttpRoutePlanner

  Default implementation of an `HttpRoutePlanner`. It will not make use of any Java system properties, nor of system or browser proxy settings.
  Since:
    4.3

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultRoutePlanner(SchemePortResolver schemePortResolver)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected InetAddress` | `determineLocalAddress(org.apache.hc.core5.http.HttpHost firstHop, org.apache.hc.core5.http.protocol.HttpContext context)` This implementation returns null.
    `protected org.apache.hc.core5.http.HttpHost` | `determineProxy(org.apache.hc.core5.http.HttpHost target, org.apache.hc.core5.http.protocol.HttpContext context)` This implementation returns null.
    `HttpRoute` | `determineRoute(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.protocol.HttpContext context)` Determines the route for the given host.
    `HttpRoute` | `determineRoute(org.apache.hc.core5.http.HttpHost host, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.protocol.HttpContext context)` Determines the route for the given host.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DefaultRoutePlanner

          public DefaultRoutePlanner(SchemePortResolver schemePortResolver)

  - ### Method Detail

    - #### determineRoute

          public final HttpRoute determineRoute(org.apache.hc.core5.http.HttpHost host,
                                                org.apache.hc.core5.http.HttpRequest request,
                                                org.apache.hc.core5.http.protocol.HttpContext context)
                                         throws org.apache.hc.core5.http.HttpException

      Description copied from interface: `HttpRoutePlanner`
      Determines the route for the given host.
      Specified by:
        `determineRoute` in interface `HttpRoutePlanner`
      Parameters:
        `host` - 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.

    - #### determineRoute

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

      Description copied from interface: `HttpRoutePlanner`
      Determines the route for the given host.
      Specified by:
        `determineRoute` in interface `HttpRoutePlanner`
      Parameters:
        `host` - 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

    - #### determineProxy

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

      This implementation returns null.
      Throws:
        `org.apache.hc.core5.http.HttpException` - may be thrown if overridden

    - #### determineLocalAddress

          protected InetAddress determineLocalAddress(org.apache.hc.core5.http.HttpHost firstHop,
                                                      org.apache.hc.core5.http.protocol.HttpContext context)
                                               throws org.apache.hc.core5.http.HttpException

      This implementation returns null.
      Throws:
        `org.apache.hc.core5.http.HttpException` - may be thrown if overridden

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