public class

ProxySelectorRoutePlanner

extends Object
implements HttpRoutePlanner
java.lang.Object
   ↳ org.apache.http.impl.conn.ProxySelectorRoutePlanner

Class Overview

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.

Summary

Fields
protected ProxySelector proxySelector The proxy selector to use, or null for system default.
protected SchemeRegistry schemeRegistry The scheme registry.
Public Constructors
ProxySelectorRoutePlanner(SchemeRegistry schreg, ProxySelector prosel)
Creates a new proxy selector route planner.
Public Methods
HttpRoute determineRoute(HttpHost target, HttpRequest request, HttpContext context)
Determines the route for a request.
ProxySelector getProxySelector()
Obtains the proxy selector to use.
void setProxySelector(ProxySelector prosel)
Sets the proxy selector to use.
Protected Methods
Proxy chooseProxy(List<Proxy> proxies, HttpHost target, HttpRequest request, HttpContext context)
HttpHost determineProxy(HttpHost target, HttpRequest request, HttpContext context)
Determines a proxy for the given target.
String getHost(InetSocketAddress isa)
Obtains a host from an InetSocketAddress.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.apache.http.conn.routing.HttpRoutePlanner

Fields

protected ProxySelector proxySelector

Since: API Level 1

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

protected SchemeRegistry schemeRegistry

Since: API Level 1

The scheme registry.

Public Constructors

public ProxySelectorRoutePlanner (SchemeRegistry schreg, ProxySelector prosel)

Since: API Level 1

Creates a new proxy selector route planner.

Parameters
schreg the scheme registry
prosel the proxy selector, or null for the system default

Public Methods

public HttpRoute determineRoute (HttpHost target, HttpRequest request, HttpContext context)

Since: API Level 1

Determines the route for a request.

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

public ProxySelector getProxySelector ()

Since: API Level 1

Obtains the proxy selector to use.

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

public void setProxySelector (ProxySelector prosel)

Since: API Level 1

Sets the proxy selector to use.

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

Protected Methods

protected Proxy chooseProxy (List<Proxy> proxies, HttpHost target, HttpRequest request, HttpContext context)

Since: API Level 1

protected HttpHost determineProxy (HttpHost target, HttpRequest request, HttpContext context)

Since: API Level 1

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

protected String getHost (InetSocketAddress isa)

Since: API Level 1

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