summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/network
diff options
context:
space:
mode:
authorBjörn Hagemeister2014-11-11 14:08:13 +0100
committerBjörn Hagemeister2014-11-11 14:08:13 +0100
commitfa678142166dc59faaa8a188ec900415d87fe3af (patch)
tree175da06bb2cdd77270640ac7a107b9f0f1af1743 /src/main/java/org/openslx/network
parentAdd suffixlist to OrganizationData (diff)
downloadmaster-sync-shared-fa678142166dc59faaa8a188ec900415d87fe3af.tar.gz
master-sync-shared-fa678142166dc59faaa8a188ec900415d87fe3af.tar.xz
master-sync-shared-fa678142166dc59faaa8a188ec900415d87fe3af.zip
Added ProxySelector Class for connecting to masterserver via proxy if necessary.
Added ProxyAuthenticator for possible used authentication of proxy connection.
Diffstat (limited to 'src/main/java/org/openslx/network')
-rw-r--r--src/main/java/org/openslx/network/StaticProxyAuthenticator.java21
-rw-r--r--src/main/java/org/openslx/network/StaticProxySelector.java50
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;
+ }
+
+}