Build 1.0_r1(from source)

org.apache.http.impl.conn
Class ProxySelectorRoutePlanner

java.lang.Object
  extended by org.apache.http.impl.conn.ProxySelectorRoutePlanner
All Implemented Interfaces:
HttpRoutePlanner

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.


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)
           
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

schemeRegistry

protected SchemeRegistry schemeRegistry
The scheme registry.


proxySelector

protected ProxySelector proxySelector
The proxy selector to use, or null for system default.

Constructor Detail

ProxySelectorRoutePlanner

public ProxySelectorRoutePlanner(SchemeRegistry schreg,
                                 ProxySelector prosel)
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()
Obtains the proxy selector to use.

Returns:
the proxy selector, or null for the system default

setProxySelector

public void setProxySelector(ProxySelector prosel)
Sets the proxy selector to use.

Parameters:
prosel - the proxy selector, or null to use the system default

determineRoute

public HttpRoute determineRoute(HttpHost target,
                                HttpRequest request,
                                HttpContext context)
                         throws HttpException
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:
HttpException - in case of a problem

determineProxy

protected HttpHost determineProxy(HttpHost target,
                                  HttpRequest request,
                                  HttpContext context)
                           throws HttpException
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:
HttpException - in case of system proxy settings that cannot be handled

getHost

protected String getHost(InetSocketAddress isa)
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,
                            HttpHost target,
                            HttpRequest request,
                            HttpContext context)

Build 1.0_r1(from source)

Please submit a feedback, bug or feature