List of usage examples for org.apache.http.conn.routing HttpRoute isSecure
public final boolean isSecure()
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; }