diff options
-rw-r--r-- | src/main/java/org/openslx/network/StaticProxyAuthenticator.java | 21 | ||||
-rw-r--r-- | src/main/java/org/openslx/network/StaticProxySelector.java | 50 |
2 files changed, 71 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/network/StaticProxyAuthenticator.java b/src/main/java/org/openslx/network/StaticProxyAuthenticator.java new file mode 100644 index 0000000..a11f1e1 --- /dev/null +++ b/src/main/java/org/openslx/network/StaticProxyAuthenticator.java @@ -0,0 +1,21 @@ +package org.openslx.network; + +import java.net.Authenticator; +import java.net.PasswordAuthentication; + +public class StaticProxyAuthenticator extends Authenticator +{ + private final String username, password; + + public StaticProxyAuthenticator( String username, String password ) + { + this.username = username; + this.password = password; + } + + protected PasswordAuthentication getPasswordAuthentication() + { + return new PasswordAuthentication( + this.username, this.password.toCharArray() ); + } +} diff --git a/src/main/java/org/openslx/network/StaticProxySelector.java b/src/main/java/org/openslx/network/StaticProxySelector.java new file mode 100644 index 0000000..28332f6 --- /dev/null +++ b/src/main/java/org/openslx/network/StaticProxySelector.java @@ -0,0 +1,50 @@ +package org.openslx.network; + +import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.Proxy; +import java.net.ProxySelector; +import java.net.SocketAddress; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Logger; + +public class StaticProxySelector extends ProxySelector +{ + private static Logger log = Logger.getLogger( StaticProxySelector.class ); + + private final Proxy proxy; + + public StaticProxySelector( Proxy proxy ) + { + this.proxy = proxy; + } + + @Override + public void connectFailed( URI uri, SocketAddress sa, IOException ioe ) + { + // Just one fix proxy. So no code is necessary here for deactivating proxy. + } + + @Override + public List<Proxy> select( URI uri ) + { + List<Proxy> proxyList = new ArrayList<Proxy>(); + String host = uri.getHost(); + + log.info( "Host: " + host ); + + // If host equals localhost return empty list. + if ( ! ( host.startsWith( "127." ) ) && ! ( host.equals( "localhost" ) ) ) { + // log.info("host.startsWith(127.): " + host.startsWith( "127." )); + // log.info( "host.equals(localhost): " + host.equals("localhost")); + log.info( "Adding proxy to proxyList" ); + proxyList.add( this.proxy ); + } + // log.info( "proxyList: " + proxyList.toString() ); + return proxyList; + } + +} |