SystemDefaultRoutePlanner
@NotThreadSafe @Deprecated public class ProxySelectorRoutePlanner extends java.lang.Object implements HttpRoutePlanner
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:
Modifier and Type | Field and Description |
---|---|
protected java.net.ProxySelector |
proxySelector
Deprecated.
The proxy selector to use, or
null for system default. |
protected SchemeRegistry |
schemeRegistry
Deprecated.
The scheme registry.
|
Constructor and Description |
---|
ProxySelectorRoutePlanner(SchemeRegistry schreg,
java.net.ProxySelector prosel)
Deprecated.
Creates a new proxy selector route planner.
|
Modifier and Type | Method and Description |
---|---|
protected java.net.Proxy |
chooseProxy(java.util.List<java.net.Proxy> proxies,
HttpHost target,
HttpRequest request,
HttpContext context)
Deprecated.
Chooses a proxy from a list of available proxies.
|
protected HttpHost |
determineProxy(HttpHost target,
HttpRequest request,
HttpContext context)
Deprecated.
Determines a proxy for the given target.
|
HttpRoute |
determineRoute(HttpHost target,
HttpRequest request,
HttpContext context)
Deprecated.
Determines the route for a request.
|
protected java.lang.String |
getHost(java.net.InetSocketAddress isa)
Deprecated.
Obtains a host from an
InetSocketAddress . |
java.net.ProxySelector |
getProxySelector()
Deprecated.
Obtains the proxy selector to use.
|
void |
setProxySelector(java.net.ProxySelector prosel)
Deprecated.
Sets the proxy selector to use.
|
protected final SchemeRegistry schemeRegistry
protected java.net.ProxySelector proxySelector
null
for system default.public ProxySelectorRoutePlanner(SchemeRegistry schreg, java.net.ProxySelector prosel)
schreg
- the scheme registryprosel
- the proxy selector, or
null
for the system defaultpublic java.net.ProxySelector getProxySelector()
null
for the system defaultpublic void setProxySelector(java.net.ProxySelector prosel)
prosel
- the proxy selector, or
null
to use the system defaultpublic HttpRoute determineRoute(HttpHost target, HttpRequest request, HttpContext context) throws HttpException
HttpRoutePlanner
determineRoute
in interface HttpRoutePlanner
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 executecontext
- the context to use for the subsequent execution.
Implementations may accept null
.HttpException
- in case of a problemprotected HttpHost determineProxy(HttpHost target, HttpRequest request, HttpContext context) throws HttpException
target
- the planned target, never null
request
- the request to be sent, never null
context
- the context, or null
null
for a direct routeHttpException
- in case of system proxy settings that cannot be handledprotected java.lang.String getHost(java.net.InetSocketAddress isa)
InetSocketAddress
.isa
- the socket address(TODO: determine format for IPv6 addresses, with or without [brackets])
protected java.net.Proxy chooseProxy(java.util.List<java.net.Proxy> proxies, HttpHost target, HttpRequest request, HttpContext context)
Proxy.NO_PROXY
is returned.
Derived classes may implement more advanced strategies,
such as proxy rotation if there are multiple options.proxies
- the list of proxies to choose from,
never null
or emptytarget
- the planned target, never null
request
- the request to be sent, never null
context
- the context, or null