List of usage examples for org.apache.http.conn.routing HttpRoutePlanner HttpRoutePlanner
HttpRoutePlanner
From source file:org.jboss.tools.aerogear.hybrid.core.internal.util.HttpUtil.java
/** * Set the proxy settings from ProxyService. * This method sets a {@link HttpRoutePlanner} to the client * /*from www . java2s .c o m*/ * @param client */ public static void setupProxy(DefaultHttpClient client) { client.setRoutePlanner(new HttpRoutePlanner() { @Override public HttpRoute determineRoute(HttpHost target, HttpRequest request, HttpContext context) throws HttpException { IProxyService proxy = HybridCore.getDefault().getProxyService(); HttpHost host = null; try { IProxyData[] proxyDatas = proxy.select(new URI(target.toURI())); for (IProxyData data : proxyDatas) { if (data.getType().equals(IProxyData.HTTP_PROXY_TYPE)) { host = new HttpHost(data.getHost(), data.getPort()); break; } } } catch (URISyntaxException e) { HybridCore.log(IStatus.ERROR, "Incorrect URI", e); } if (host == null) { return new HttpRoute(target); } return new HttpRoute(target, null, host, false); } }); }
From source file:org.eclipse.thym.core.internal.util.HttpUtil.java
/** * Set the proxy settings from ProxyService. * This method sets a {@link HttpRoutePlanner} to the client * // w w w .j a v a 2 s . c om * @param client */ public static void setupProxy(final DefaultHttpClient client) { client.setRoutePlanner(new HttpRoutePlanner() { @Override public HttpRoute determineRoute(HttpHost target, HttpRequest request, HttpContext context) throws HttpException { //use forced route if one exists HttpRoute route = ConnRouteParams.getForcedRoute(request.getParams()); if (route != null) return route; // if layered, is it secure? final Scheme scheme = client.getConnectionManager().getSchemeRegistry().getScheme(target); final boolean secure = scheme.isLayered(); HttpHost host = null; try { IProxyData[] proxyDatas = getEclipseProxyData(new URI(target.toURI())); for (IProxyData data : proxyDatas) { if (data.getType().equals(IProxyData.HTTP_PROXY_TYPE)) { host = new HttpHost(data.getHost(), data.getPort()); break; } } } catch (URISyntaxException e) { HybridCore.log(IStatus.ERROR, "Incorrect URI", e); } if (host == null) { return new HttpRoute(target, null, secure); } return new HttpRoute(target, null, host, secure); } }); }
From source file:org.jboss.tools.feedhenry.ui.model.HttpUtil.java
/** * Set the proxy settings from ProxyService. * This method sets a {@link HttpRoutePlanner} to the client * /* ww w . j a v a2s . com*/ * @param client */ static void setupProxy(final DefaultHttpClient client) { client.setRoutePlanner(new HttpRoutePlanner() { /* (non-Javadoc) * @see org.apache.http.conn.routing.HttpRoutePlanner#determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) */ @Override public HttpRoute determineRoute(HttpHost target, HttpRequest request, HttpContext context) throws HttpException { //use forced route if one exists HttpRoute route = ConnRouteParams.getForcedRoute(request.getParams()); if (route != null) return route; // if layered, is it secure? final Scheme scheme = client.getConnectionManager().getSchemeRegistry().getScheme(target); final boolean secure = scheme.isLayered(); final IProxyService proxy = FHPlugin.getDefault().getProxyService(); HttpHost host = null; if (proxy != null) { try { IProxyData[] proxyDatas = proxy.select(new URI(target.toURI())); for (IProxyData data : proxyDatas) { if (data.getType().equals(IProxyData.HTTP_PROXY_TYPE)) { host = new HttpHost(data.getHost(), data.getPort()); break; } } } catch (URISyntaxException e) { FHPlugin.log(IStatus.ERROR, "Incorrect URI", e); } } if (host == null) { return new HttpRoute(target, null, secure); } return new HttpRoute(target, null, host, secure); } }); }
From source file:com.allstate.client.core.SoapClient.java
private void configureProxy() { if (proxyUri == null) { return;/* w w w. j a va 2 s .c om*/ } if (proxyTlsEnabled) { final HttpHost proxy = new HttpHost(proxyUri.getHost(), proxyUri.getPort(), HTTPS); // https://issues.apache.org/jira/browse/HTTPCLIENT-1318 // http://stackoverflow.com/questions/15048102/httprouteplanner-how-does-it-work-with-an-https-proxy // To make the HttpClient talk to a HTTP End-site through an HTTPS Proxy, the route should be secure, // but there should not be any Tunnelling or Layering. if (!endpointTlsEnabled) { client.setRoutePlanner(new HttpRoutePlanner() { @Override public HttpRoute determineRoute(HttpHost target, HttpRequest request, HttpContext context) { return new HttpRoute(target, null, proxy, true, RouteInfo.TunnelType.PLAIN, RouteInfo.LayerType.PLAIN); } }); } client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); } else { HttpHost proxy = new HttpHost(proxyUri.getHost(), proxyUri.getPort()); client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); } }
From source file:org.ellis.yun.search.test.httpclient.HttpClientTest.java
@Test @SuppressWarnings("deprecation") public void testConnectionManagerAndProxy() throws Exception { HttpParams params = new BasicHttpParams(); Scheme http = new Scheme("http", PlainSocketFactory.getSocketFactory(), 80); SchemeRegistry sr = new SchemeRegistry(); sr.register(http);/*from w w w . ja v a2 s. c o m*/ ClientConnectionManager cm = new ThreadSafeClientConnManager(params, sr); DefaultHttpClient httpClient = new DefaultHttpClient(cm, params); // ? HTTP? String proxyHost = "proxy.wdf.sap.corp"; int proxyPort = 8080; httpClient.getCredentialsProvider().setCredentials(new AuthScope(proxyHost, proxyPort), new UsernamePasswordCredentials("", "")); HttpHost proxy = new HttpHost(proxyHost, proxyPort); httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, proxy); // ? HTTP? HttpRoutePlanner routePlanner = new HttpRoutePlanner() { public HttpRoute determineRoute(HttpHost target, HttpRequest request, HttpContext context) throws HttpException { return new HttpRoute(target, null, new HttpHost("proxy.wdf.sap.corp", 8080), true); } }; // httpClient.setRoutePlanner(routePlanner); String[] urisToGet = { "http://119.29.234.42/", // "http://119.29.234.42/solr", // "http://119.29.234.42/jenkins", // "http://119.29.234.42/jenkins/manage", // "http://119.29.234.42/jenkins/credential-store", // }; // ?URI GetThread[] threads = new GetThread[urisToGet.length]; for (int i = 0; i < threads.length; i++) { HttpGet httpget = new HttpGet(urisToGet[i]); threads[i] = new GetThread(httpClient, httpget); } // for (int j = 0; j < threads.length; j++) { threads[j].start(); } // ? for (int j = 0; j < threads.length; j++) { threads[j].join(); } cm.closeIdleConnections(40, TimeUnit.SECONDS); cm.closeExpiredConnections(); }