@NotThreadSafe
public class ProxySelectorAsyncRoutePlanner
extends java.lang.Object
implements org.apache.http.conn.routing.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:
ConnRoutePNames.LOCAL_ADDRESSConnRoutePNames.FORCED_ROUTE| Modifier and Type | Field and Description |
|---|---|
protected java.net.ProxySelector |
proxySelector
The proxy selector to use, or
null for system default. |
protected org.apache.http.nio.conn.scheme.AsyncSchemeRegistry |
schemeRegistry
The scheme registry.
|
| Constructor and Description |
|---|
ProxySelectorAsyncRoutePlanner(org.apache.http.nio.conn.scheme.AsyncSchemeRegistry schreg,
java.net.ProxySelector prosel)
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,
org.apache.http.HttpHost target,
org.apache.http.HttpRequest request,
org.apache.http.protocol.HttpContext context)
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)
Determines a proxy for the given target.
|
org.apache.http.conn.routing.HttpRoute |
determineRoute(org.apache.http.HttpHost target,
org.apache.http.HttpRequest request,
org.apache.http.protocol.HttpContext context) |
protected java.lang.String |
getHost(java.net.InetSocketAddress isa)
Obtains a host from an
InetSocketAddress. |
java.net.ProxySelector |
getProxySelector()
Obtains the proxy selector to use.
|
void |
setProxySelector(java.net.ProxySelector prosel)
Sets the proxy selector to use.
|
protected final org.apache.http.nio.conn.scheme.AsyncSchemeRegistry schemeRegistry
protected java.net.ProxySelector proxySelector
null for system default.public ProxySelectorAsyncRoutePlanner(org.apache.http.nio.conn.scheme.AsyncSchemeRegistry 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 org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost target,
org.apache.http.HttpRequest request,
org.apache.http.protocol.HttpContext context)
throws org.apache.http.HttpException
determineRoute in interface org.apache.http.conn.routing.HttpRoutePlannerorg.apache.http.HttpExceptionprotected 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
target - the planned target, never nullrequest - the request to be sent, never nullcontext - the context, or nullnull for a direct routeorg.apache.http.HttpException - in case of system proxy settings that cannot be handledprotected java.lang.String getHost(java.net.InetSocketAddress isa)
InetSocketAddress.isa - the socket addressprotected java.net.Proxy chooseProxy(java.util.List<java.net.Proxy> proxies,
org.apache.http.HttpHost target,
org.apache.http.HttpRequest request,
org.apache.http.protocol.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 nullrequest - the request to be sent, never nullcontext - the context, or nullCopyright © 2012-2013 Atlassian. All Rights Reserved.