org.apache.hc.client5.http

## Interface RouteInfo

All Known Implementing Classes:
  HttpRoute, RouteTracker

    public interface RouteInfo

Connection route information.

Since:
  4.0

### Nested Class Summary

Nested Classes
`static class` `RouteInfo.LayerType` The layering type of a route.
`static class` `RouteInfo.TunnelType` The tunnelling type of a route.

### Method Summary

Methods
`int` `getHopCount()` Obtains the number of hops in this route.
`HttpHost` `getHopTarget(int hop)` Obtains the target of a hop in this route.
`RouteInfo.LayerType` `getLayerType()` Obtains the layering type of this route.
`InetAddress` `getLocalAddress()` Obtains the local address to connect from.
`HttpHost` `getProxyHost()` Obtains the first proxy host.
`HttpHost` `getTargetHost()` Obtains the target host.
`RouteInfo.TunnelType` `getTunnelType()` Obtains the tunnel type of this route.
`boolean` `isLayered()` Checks whether this route includes a layered protocol.
`boolean` `isSecure()` Checks whether this route is secure.
`boolean` `isTunnelled()` Checks whether this route is tunnelled through a proxy.

### Method Detail

#### getTargetHost

    HttpHost getTargetHost()

Obtains the target host.

Returns:
  the target host

#### getLocalAddress

    InetAddress getLocalAddress()

Obtains the local address to connect from.

Returns:
  the local address, or `null`

#### getHopCount

    int getHopCount()

Obtains 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.

Returns:
  the number of hops in this route

#### getHopTarget

    HttpHost getHopTarget(int hop)

Obtains the target of a hop in this route. The target of the last hop is the `target 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.

Parameters:
  `hop` - index of the hop for which to get the target, 0 for first
Returns:
  the target of the given hop
Throws:
  `IllegalArgumentException` - if the argument is negative or not less than `getHopCount()`

#### getProxyHost

    HttpHost getProxyHost()

Obtains the first proxy host.

Returns:
  the first proxy in the proxy chain, or `null` if this route is direct

#### getTunnelType

    RouteInfo.TunnelType getTunnelType()

Obtains the tunnel type of this route. If there is a proxy chain, only end-to-end tunnels are considered.

Returns:
  the tunnelling type

#### isTunnelled

    boolean isTunnelled()

Checks whether this route is tunnelled through a proxy. If there is a proxy chain, only end-to-end tunnels are considered.

Returns:
  `true` if tunnelled end-to-end through at least one proxy, `false` otherwise

#### getLayerType

    RouteInfo.LayerType getLayerType()

Obtains the layering type of this route. In the presence of proxies, only layering over an end-to-end tunnel is considered.

Returns:
  the layering type

#### isLayered

    boolean isLayered()

Checks whether this route includes a layered protocol. In the presence of proxies, only layering over an end-to-end tunnel is considered.

Returns:
  `true` if layered, `false` otherwise

#### isSecure

    boolean isSecure()

Checks whether this route is secure.

Returns:
  `true` if secure, `false` otherwise