View Javadoc
1   package com.atlassian.sal.core.net;
2   
3   import org.apache.http.HttpException;
4   import org.apache.http.HttpHost;
5   import org.apache.http.HttpRequest;
6   import org.apache.http.impl.conn.DefaultRoutePlanner;
7   import org.apache.http.protocol.HttpContext;
8   
9   public class ProxyRoutePlanner extends DefaultRoutePlanner {
10      private final HttpHost proxy;
11      private final String[] nonProxyHosts;
12  
13      public ProxyRoutePlanner(final ProxyConfig proxyConfig) {
14          super(null);
15          this.proxy = new HttpHost(proxyConfig.getHost(), proxyConfig.getPort());
16          this.nonProxyHosts = proxyConfig.getNonProxyHosts();
17      }
18  
19      @Override
20      protected HttpHost determineProxy(final HttpHost target, final HttpRequest request, final HttpContext context)
21              throws HttpException {
22          return ProxyUtil.shouldBeProxied(target.getHostName(), nonProxyHosts) ? proxy : null;
23      }
24  }