Class HttpRoute
java.lang.Object
org.apache.http.conn.routing.HttpRoute
-
Nested Class Summary
Nested classes/interfaces inherited from interface RouteInfo
RouteInfo.LayerType, RouteInfo.TunnelType -
Constructor Summary
ConstructorsConstructorDescriptionHttpRoute(org.apache.http.HttpHost target) Creates a new direct insecure route.HttpRoute(org.apache.http.HttpHost target, InetAddress local, boolean secure) Creates a new direct route.HttpRoute(org.apache.http.HttpHost target, InetAddress local, org.apache.http.HttpHost[] proxies, boolean secure, RouteInfo.TunnelType tunnelled, RouteInfo.LayerType layered) Creates a new route with all attributes specified explicitly.HttpRoute(org.apache.http.HttpHost target, InetAddress local, org.apache.http.HttpHost proxy, boolean secure) Creates a new route through a proxy.HttpRoute(org.apache.http.HttpHost target, InetAddress local, org.apache.http.HttpHost proxy, boolean secure, RouteInfo.TunnelType tunnelled, RouteInfo.LayerType layered) Creates a new route with at most one proxy.HttpRoute(org.apache.http.HttpHost target, org.apache.http.HttpHost proxy) Creates a new plain route through a proxy. -
Method Summary
Modifier and TypeMethodDescriptionclone()booleanCompares this route to another.intObtains the number of hops in this route.org.apache.http.HttpHostgetHopTarget(int hop) Obtains the target of a hop in this route.Obtains the layering type of this route.Obtains the local address to connect from.org.apache.http.HttpHostObtains the first proxy host.org.apache.http.HttpHostObtains the target host.Obtains the tunnel type of this route.inthashCode()Generates a hash code for this route.booleanChecks whether this route includes a layered protocol.booleanisSecure()Checks whether this route is secure.booleanChecks whether this route is tunnelled through a proxy.toString()Obtains a description of this route.
-
Constructor Details
-
HttpRoute
public HttpRoute(org.apache.http.HttpHost target, InetAddress local, org.apache.http.HttpHost[] proxies, boolean secure, RouteInfo.TunnelType tunnelled, RouteInfo.LayerType layered) Creates a new route with all attributes specified explicitly.- Parameters:
target- the host to which to routelocal- the local address to route from, ornullfor the defaultproxies- the proxy chain to use, ornullfor a direct routesecure-trueif the route is (to be) secure,falseotherwisetunnelled- the tunnel type of this routelayered- the layering type of this route
-
HttpRoute
public HttpRoute(org.apache.http.HttpHost target, InetAddress local, org.apache.http.HttpHost proxy, boolean secure, RouteInfo.TunnelType tunnelled, RouteInfo.LayerType layered) Creates a new route with at most one proxy.- Parameters:
target- the host to which to routelocal- the local address to route from, ornullfor the defaultproxy- the proxy to use, ornullfor a direct routesecure-trueif the route is (to be) secure,falseotherwisetunnelled-trueif the route is (to be) tunnelled via the proxy,falseotherwiselayered-trueif the route includes a layered protocol,falseotherwise
-
HttpRoute
Creates a new direct route. That is a route without a proxy.- Parameters:
target- the host to which to routelocal- the local address to route from, ornullfor the defaultsecure-trueif the route is (to be) secure,falseotherwise
-
HttpRoute
public HttpRoute(org.apache.http.HttpHost target) Creates a new direct insecure route.- Parameters:
target- the host to which to route
-
HttpRoute
public HttpRoute(org.apache.http.HttpHost target, InetAddress local, org.apache.http.HttpHost proxy, boolean secure) Creates a new route through a proxy. When using this constructor, theproxyMUST be given. For convenience, it is assumed that a secure connection will be layered over a tunnel through the proxy.- Parameters:
target- the host to which to routelocal- the local address to route from, ornullfor the defaultproxy- the proxy to usesecure-trueif the route is (to be) secure,falseotherwise
-
HttpRoute
public HttpRoute(org.apache.http.HttpHost target, org.apache.http.HttpHost proxy) Creates a new plain route through a proxy.- Parameters:
target- the host to which to routeproxy- the proxy to use- Since:
- 4.3
-
-
Method Details
-
getTargetHost
public org.apache.http.HttpHost getTargetHost()Description copied from interface:RouteInfoObtains the target host.- Specified by:
getTargetHostin interfaceRouteInfo- Returns:
- the target host
-
getLocalAddress
Description copied from interface:RouteInfoObtains the local address to connect from.- Specified by:
getLocalAddressin interfaceRouteInfo- Returns:
- the local address,
or
null
-
getLocalSocketAddress
-
getHopCount
public int getHopCount()Description copied from interface:RouteInfoObtains the number of hops in this route. A direct route has one hop. A route through a proxy has two hops. A route through a chain of n proxies has n+1 hops.- Specified by:
getHopCountin interfaceRouteInfo- Returns:
- the number of hops in this route
-
getHopTarget
public org.apache.http.HttpHost getHopTarget(int hop) Description copied from interface:RouteInfoObtains the target of a hop in this route. The target of the last hop is thetarget host, the target of previous hops is the respective proxy in the chain. For a route through exactly one proxy, target of hop 0 is the proxy and target of hop 1 is the target host.- Specified by:
getHopTargetin interfaceRouteInfo- Parameters:
hop- index of the hop for which to get the target, 0 for first- Returns:
- the target of the given hop
-
getProxyHost
public org.apache.http.HttpHost getProxyHost()Description copied from interface:RouteInfoObtains the first proxy host.- Specified by:
getProxyHostin interfaceRouteInfo- Returns:
- the first proxy in the proxy chain, or
nullif this route is direct
-
getTunnelType
Description copied from interface:RouteInfoObtains the tunnel type of this route. If there is a proxy chain, only end-to-end tunnels are considered.- Specified by:
getTunnelTypein interfaceRouteInfo- Returns:
- the tunnelling type
-
isTunnelled
public boolean isTunnelled()Description copied from interface:RouteInfoChecks whether this route is tunnelled through a proxy. If there is a proxy chain, only end-to-end tunnels are considered.- Specified by:
isTunnelledin interfaceRouteInfo- Returns:
trueif tunnelled end-to-end through at least one proxy,falseotherwise
-
getLayerType
Description copied from interface:RouteInfoObtains the layering type of this route. In the presence of proxies, only layering over an end-to-end tunnel is considered.- Specified by:
getLayerTypein interfaceRouteInfo- Returns:
- the layering type
-
isLayered
-
isSecure
-
equals
-
hashCode
-
toString
-
clone
- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-