/** * Sets the proxy for use with all the connections. * The proxy is used for connections established after the * call to this method. * * @param proxy the new proxy for connections. * @since 3.2 */ public void setProxy(Proxy proxy) { setSocketFactory(new DefaultSocketFactory(proxy)); connProxy = proxy; }
@Override public Socket createSocket(final InetAddress address, final int port, final InetAddress localAddr, final int localPort) throws IOException { return super.createSocket(address, port, localAddr, localPort); } }
@Override public Socket createSocket(final String host, final int port) throws IOException { return super.createSocket(host, port); }
/** * @param blacklisted Network interface names to ignore */ public NetworkInterfaceAwareSocketFactory(final List<String> blacklisted) { this(new DefaultSocketFactory(), blacklisted); }
@Override public Socket createSocket(final String host, final int port, final InetAddress localAddr, final int localPort) throws IOException { return super.createSocket(host, port, localAddr, localPort); }
public NetworkInterfaceAwareSocketFactory(final java.net.Proxy proxy) { this(new DefaultSocketFactory(), proxy); }
@Override public Socket createSocket(final InetAddress address, final int port) throws IOException { return super.createSocket(address, port); }
public NetworkInterfaceAwareSocketFactory() { this(new DefaultSocketFactory()); }
/** * @param target Hostname * @return Socket factory configured with SOCKS proxy if route is determined to be proxied. Otherwise * direct connection socket factory. */ protected SocketFactory factory(final String target) { final Proxy proxy = proxyFinder.find(new Host(protocol, target)); if(!types.contains(proxy.getType())) { log.warn(String.format("Use of %s proxy is disabled for socket factory %s", proxy.getType(), this)); return new NetworkInterfaceAwareSocketFactory(new DefaultSocketFactory(), blacklisted); } switch(proxy.getType()) { case SOCKS: if(log.isInfoEnabled()) { log.info(String.format("Configured to use SOCKS proxy %s", proxy)); } final java.net.Proxy socksProxy = new java.net.Proxy( java.net.Proxy.Type.SOCKS, new InetSocketAddress(proxy.getHostname(), proxy.getPort())); return new NetworkInterfaceAwareSocketFactory(new DefaultSocketFactory(), blacklisted, socksProxy); case HTTP: case HTTPS: if(log.isInfoEnabled()) { log.info(String.format("Configured to use HTTP proxy %s", proxy)); } final java.net.Proxy httpProxy = new java.net.Proxy( java.net.Proxy.Type.HTTP, new InetSocketAddress(proxy.getHostname(), proxy.getPort())); return new NetworkInterfaceAwareSocketFactory(new HttpProxySocketFactory(httpProxy), blacklisted, httpProxy); } return new NetworkInterfaceAwareSocketFactory(new DefaultSocketFactory(), blacklisted); }