|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.http.impl.conn.ProxySelectorRoutePlanner
@NotThreadSafe public class ProxySelectorRoutePlanner
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:
Field Summary | |
---|---|
protected java.net.ProxySelector |
proxySelector
The proxy selector to use, or null for system default. |
protected SchemeRegistry |
schemeRegistry
The scheme registry. |
Constructor Summary | |
---|---|
ProxySelectorRoutePlanner(SchemeRegistry schreg,
java.net.ProxySelector prosel)
Creates a new proxy selector route planner. |
Method Summary | |
---|---|
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. |
HttpRoute |
determineRoute(org.apache.http.HttpHost target,
org.apache.http.HttpRequest request,
org.apache.http.protocol.HttpContext context)
Determines the route for a request. |
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final SchemeRegistry schemeRegistry
protected java.net.ProxySelector proxySelector
null
for system default.
Constructor Detail |
---|
public ProxySelectorRoutePlanner(SchemeRegistry schreg, java.net.ProxySelector prosel)
schreg
- the scheme registryprosel
- the proxy selector, or
null
for the system defaultMethod Detail |
---|
public 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(org.apache.http.HttpHost target, org.apache.http.HttpRequest request, org.apache.http.protocol.HttpContext context) throws org.apache.http.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
.
org.apache.http.HttpException
- in case of a problemprotected 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 null
request
- the request to be sent, never null
context
- the context, or null
null
for a direct route
org.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 address
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)
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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |