|
||||||||||
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 ProxySelector |
proxySelector
The proxy selector to use, or null for system default. |
protected SchemeRegistry |
schemeRegistry
The scheme registry. |
Constructor Summary | |
---|---|
ProxySelectorRoutePlanner(SchemeRegistry schreg,
ProxySelector prosel)
Creates a new proxy selector route planner. |
Method Summary | |
---|---|
protected Proxy |
chooseProxy(List<Proxy> proxies,
HttpHost target,
HttpRequest request,
HttpContext context)
Chooses a proxy from a list of available proxies. |
protected HttpHost |
determineProxy(HttpHost target,
HttpRequest request,
HttpContext context)
Determines a proxy for the given target. |
HttpRoute |
determineRoute(HttpHost target,
HttpRequest request,
HttpContext context)
Determines the route for a request. |
protected String |
getHost(InetSocketAddress isa)
Obtains a host from an InetSocketAddress . |
ProxySelector |
getProxySelector()
Obtains the proxy selector to use. |
void |
setProxySelector(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 ProxySelector proxySelector
null
for system default.
Constructor Detail |
---|
public ProxySelectorRoutePlanner(SchemeRegistry schreg, ProxySelector prosel)
schreg
- the scheme registryprosel
- the proxy selector, or
null
for the system defaultMethod Detail |
---|
public ProxySelector getProxySelector()
null
for the system defaultpublic void setProxySelector(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 route
HttpException
- in case of system proxy settings that cannot be handledprotected String getHost(InetSocketAddress isa)
InetSocketAddress
.
isa
- the socket address
protected Proxy chooseProxy(List<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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |