org.apache.http.impl.conn

## Class ProxySelectorRoutePlanner

- java.lang.Object
- - org.apache.http.impl.conn.ProxySelectorRoutePlanner

- All Implemented Interfaces:
    HttpRoutePlanner

  Deprecated.
  (4.3) use `SystemDefaultRoutePlanner`

      @Deprecated
      public class ProxySelectorRoutePlanner
      extends Object
      implements HttpRoutePlanner

  Default implementation of an `HttpRoutePlanner`. This implementation is based on `ProxySelector`. By default, it will pick up the proxy settings of the JVM, either from system properties or from the browser running the application. Additionally, it interprets some `parameters`, though not the `DEFAULT_PROXY`.

  The following parameters can be used to customize the behavior of this class:

  - `ConnRoutePNames.LOCAL_ADDRESS`
  - `ConnRoutePNames.FORCED_ROUTE`
  Since:
    4.0

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ProxySelector` | `proxySelector` Deprecated. The proxy selector to use, or `null` for system default.
    `protected SchemeRegistry` | `schemeRegistry` Deprecated. The scheme registry.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ProxySelectorRoutePlanner(SchemeRegistry schreg, ProxySelector prosel)` Deprecated. Creates a new proxy selector route planner.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Proxy` | `chooseProxy(List<Proxy> proxies, org.apache.http.HttpHost target, org.apache.http.HttpRequest request, org.apache.http.protocol.HttpContext context)` Deprecated. Chooses a proxy from a list of available proxies.
    `protected org.apache.http.HttpHost` | `determineProxy(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, org.apache.http.protocol.HttpContext context)` Deprecated. Determines a proxy for the given target.
    `HttpRoute` | `determineRoute(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, org.apache.http.protocol.HttpContext context)` Deprecated. Determines the route for a request.
    `protected String` | `getHost(InetSocketAddress isa)` Deprecated. Obtains a host from an `InetSocketAddress`.
    `ProxySelector` | `getProxySelector()` Deprecated. Obtains the proxy selector to use.
    `void` | `setProxySelector(ProxySelector prosel)` Deprecated. Sets the proxy selector to use.

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

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

- - ### Field Detail

    - #### schemeRegistry

          protected final SchemeRegistry schemeRegistry

      Deprecated.
      The scheme registry.

    - #### proxySelector

          protected ProxySelector proxySelector

      Deprecated.
      The proxy selector to use, or `null` for system default.

  - ### Constructor Detail

    - #### ProxySelectorRoutePlanner

          public ProxySelectorRoutePlanner(SchemeRegistry schreg,
                                   ProxySelector prosel)

      Deprecated.
      Creates a new proxy selector route planner.
      Parameters:
        `schreg` - the scheme registry
        `prosel` - the proxy selector, or `null` for the system default

  - ### Method Detail

    - #### getProxySelector

          public ProxySelector getProxySelector()

      Deprecated.
      Obtains the proxy selector to use.
      Returns:
        the proxy selector, or `null` for the system default

    - #### setProxySelector

          public void setProxySelector(ProxySelector prosel)

      Deprecated.
      Sets the proxy selector to use.
      Parameters:
        `prosel` - the proxy selector, or `null` to use the system default

    - #### determineRoute

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

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

    - #### determineProxy

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

      Deprecated.
      Determines a proxy for the given target.
      Parameters:
        `target` - the planned target, never `null`
        `request` - the request to be sent, never `null`
        `context` - the context, or `null`
      Returns:
        the proxy to use, or `null` for a direct route
      Throws:
        `org.apache.http.HttpException` - in case of system proxy settings that cannot be handled

    - #### getHost

          protected String getHost(InetSocketAddress isa)

      Deprecated.
      Obtains a host from an `InetSocketAddress`.
      Parameters:
        `isa` - the socket address
      Returns:
        a host string, either as a symbolic name or as a literal IP address string

        (TODO: determine format for IPv6 addresses, with or without [brackets])

    - #### chooseProxy

          protected Proxy chooseProxy(List<Proxy> proxies,
                          org.apache.http.HttpHost target,
                          org.apache.http.HttpRequest request,
                          org.apache.http.protocol.HttpContext context)

      Deprecated.
      Chooses a proxy from a list of available proxies. The default implementation just picks the first non-SOCKS proxy from the list. If there are only SOCKS proxies, `Proxy.NO_PROXY` is returned. Derived classes may implement more advanced strategies, such as proxy rotation if there are multiple options.
      Parameters:
        `proxies` - the list of proxies to choose from, never `null` or empty
        `target` - the planned target, never `null`
        `request` - the request to be sent, never `null`
        `context` - the context, or `null`
      Returns:
        a proxy type

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