Example usage for org.apache.http.conn.routing HttpRoute isSecure

List of usage examples for org.apache.http.conn.routing HttpRoute isSecure

Introduction

In this page you can find the example usage for org.apache.http.conn.routing HttpRoute isSecure.

Prototype

public final boolean isSecure() 

Source Link

Usage

From source file:org.siddhiesb.transport.http.conn.ClientConnFactory.java

public DefaultNHttpClientConnection createConnection(final IOSession iosession, final HttpRoute route) {
    IOSession customSession;/*from  ww  w  . j a va  2 s .c o m*/
    if (ssl != null && route.isSecure() && !route.isTunnelled()) {
        SSLContext customContext = getSSLContext(iosession);
        SSLIOSession ssliosession = new SSLIOSession(iosession, SSLMode.CLIENT, customContext,
                ssl.getHandler());
        iosession.setAttribute(SSLIOSession.SESSION_KEY, ssliosession);
        customSession = ssliosession;
    } else {
        customSession = iosession;
    }
    DefaultNHttpClientConnection conn = org.siddhiesb.transport.http.conn.LoggingUtils
            .createClientConnection(customSession, responseFactory, allocator, params);
    int timeout = HttpConnectionParams.getSoTimeout(params);
    conn.setSocketTimeout(timeout);
    return conn;
}

From source file:org.apache.http.impl.execchain.MainClientExec.java

/**
 * Establishes the target route.//from  w w w  .j av  a  2 s . co  m
 */
void establishRoute(final AuthState proxyAuthState, final HttpClientConnection managedConn,
        final HttpRoute route, final HttpRequest request, final HttpClientContext context)
        throws HttpException, IOException {
    final RequestConfig config = context.getRequestConfig();
    final int timeout = config.getConnectTimeout();
    final RouteTracker tracker = new RouteTracker(route);
    int step;
    do {
        final HttpRoute fact = tracker.toRoute();
        step = this.routeDirector.nextStep(route, fact);

        switch (step) {

        case HttpRouteDirector.CONNECT_TARGET:
            this.connManager.connect(managedConn, route, timeout > 0 ? timeout : 0, context);
            tracker.connectTarget(route.isSecure());
            break;
        case HttpRouteDirector.CONNECT_PROXY:
            this.connManager.connect(managedConn, route, timeout > 0 ? timeout : 0, context);
            final HttpHost proxy = route.getProxyHost();
            tracker.connectProxy(proxy, false);
            break;
        case HttpRouteDirector.TUNNEL_TARGET: {
            final boolean secure = createTunnelToTarget(proxyAuthState, managedConn, route, request, context);
            this.log.debug("Tunnel to target created.");
            tracker.tunnelTarget(secure);
        }
            break;

        case HttpRouteDirector.TUNNEL_PROXY: {
            // The most simple example for this case is a proxy chain
            // of two proxies, where P1 must be tunnelled to P2.
            // route: Source -> P1 -> P2 -> Target (3 hops)
            // fact:  Source -> P1 -> Target       (2 hops)
            final int hop = fact.getHopCount() - 1; // the hop to establish
            final boolean secure = createTunnelToProxy(route, hop, context);
            this.log.debug("Tunnel to proxy created.");
            tracker.tunnelProxy(route.getHopTarget(hop), secure);
        }
            break;

        case HttpRouteDirector.LAYER_PROTOCOL:
            this.connManager.upgrade(managedConn, route, context);
            tracker.layerProtocol(route.isSecure());
            break;

        case HttpRouteDirector.UNREACHABLE:
            throw new HttpException(
                    "Unable to establish route: " + "planned = " + route + "; current = " + fact);
        case HttpRouteDirector.COMPLETE:
            this.connManager.routeComplete(managedConn, route, context);
            break;
        default:
            throw new IllegalStateException("Unknown step indicator " + step + " from RouteDirector.");
        }

    } while (step > HttpRouteDirector.COMPLETE);
}

From source file:org.apache.http.impl.nio.client.AbstractClientExchangeHandler.java

final void onRouteToTarget() throws IOException {
    final NHttpClientConnection managedConn = this.managedConnRef.get();
    Asserts.check(managedConn != null, "Inconsistent state: managed connection is null");
    final HttpRoute route = this.routeRef.get();
    Asserts.check(route != null, "Inconsistent state: HTTP route is null");
    final RouteTracker routeTracker = this.routeTrackerRef.get();
    Asserts.check(routeTracker != null, "Inconsistent state: HTTP route tracker");
    this.connmgr.startRoute(managedConn, route, this.localContext);
    routeTracker.connectTarget(route.isSecure());
}

From source file:org.apache.http.impl.nio.client.AbstractClientExchangeHandler.java

final void onRouteUpgrade() throws IOException {
    final NHttpClientConnection managedConn = this.managedConnRef.get();
    Asserts.check(managedConn != null, "Inconsistent state: managed connection is null");
    final HttpRoute route = this.routeRef.get();
    Asserts.check(route != null, "Inconsistent state: HTTP route is null");
    final RouteTracker routeTracker = this.routeTrackerRef.get();
    Asserts.check(routeTracker != null, "Inconsistent state: HTTP route tracker");
    this.connmgr.upgrade(managedConn, route, this.localContext);
    routeTracker.layerProtocol(route.isSecure());
}

From source file:org.apache.synapse.transport.http.conn.ClientConnFactory.java

public DefaultNHttpClientConnection createConnection(final IOSession iosession, final HttpRoute route) {
    IOSession customSession;/*from  www  .j a v a2  s.c  om*/
    if (ssl != null && route.isSecure() && !route.isTunnelled()) {
        SSLContext customContext = getSSLContext(iosession);
        SSLIOSession ssliosession = new SSLIOSession(iosession, SSLMode.CLIENT, customContext,
                ssl.getHandler());
        iosession.setAttribute(SSLIOSession.SESSION_KEY, ssliosession);
        customSession = ssliosession;
    } else {
        if (route != null && route.isTunnelled()) {
            org.apache.http.HttpHost httpHost = route.getTargetHost();
            String beAddress = null;
            String proxyAdd = null;
            if (httpHost != null) {
                String hostname = httpHost.getHostName();
                int port = httpHost.getPort();
                beAddress = hostname + ":" + port;
            }

            org.apache.http.HttpHost proxyHost = route.getProxyHost();
            if (proxyHost != null) {
                String proxyHostName = proxyHost.getHostName();
                int proxyPort = proxyHost.getPort();
                proxyAdd = proxyHostName + ":" + proxyPort;
            }

            if (sslByHostMap != null && sslByHostMap.containsKey(beAddress)) {
                SSLContext beCtx = sslByHostMap.get(beAddress);
                sslByHostMap.put(proxyAdd, beCtx);
            }
        }
        customSession = iosession;
    }
    DefaultNHttpClientConnection conn = LoggingUtils.createClientConnection(customSession, responseFactory,
            allocator, params);
    int timeout = HttpConnectionParams.getSoTimeout(params);
    conn.setSocketTimeout(timeout);
    return conn;
}