diff options
| author | Jonathan Bauer | 2014-12-01 12:58:55 +0100 |
|---|---|---|
| committer | Jonathan Bauer | 2014-12-01 12:58:55 +0100 |
| commit | c4aa2f7dc6a3a8926122b06df0ae5337330c610c (patch) | |
| tree | 221a4110b19dc4045ef5baaa9f599f0cd9592311 /dozentenmodul/src/main/java/config/ConfigProxy.java | |
| parent | • Admin can download any image (diff) | |
| download | tutor-module-c4aa2f7dc6a3a8926122b06df0ae5337330c610c.tar.gz tutor-module-c4aa2f7dc6a3a8926122b06df0ae5337330c610c.tar.xz tutor-module-c4aa2f7dc6a3a8926122b06df0ae5337330c610c.zip | |
[client] proxy support
Diffstat (limited to 'dozentenmodul/src/main/java/config/ConfigProxy.java')
| -rw-r--r-- | dozentenmodul/src/main/java/config/ConfigProxy.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/config/ConfigProxy.java b/dozentenmodul/src/main/java/config/ConfigProxy.java new file mode 100644 index 00000000..515110bd --- /dev/null +++ b/dozentenmodul/src/main/java/config/ConfigProxy.java @@ -0,0 +1,54 @@ +package config; + + +import java.io.IOException; +import java.net.ProxySelector; + +import org.apache.log4j.Logger; + +import com.btr.proxy.search.ProxySearch; +import com.btr.proxy.search.wpad.WpadProxySearchStrategy; +import com.btr.proxy.util.ProxyException; + +/** + * Configures the proxy + * + * @author Jonathan Bauer + */ + +public class ConfigProxy { + + /** + * Logger for this class + */ + private final static Logger LOGGER = Logger.getLogger(ConfigProxy.class); + + /** + * Initialization method. + */ + public static void init() throws IOException { + // try to find local proxy settings + // TODO: do we actually want to look for local settings rather + // than just forcing WPAD? + ProxySearch proxySearch = ProxySearch.getDefaultProxySearch(); + ProxySelector myProxySelector = proxySearch.getProxySelector(); + + if (myProxySelector == null) { + // didn't work, try WPAD detection + LOGGER.error("No suitable proxy settings found, trying WPAD..."); + WpadProxySearchStrategy ss = new WpadProxySearchStrategy(); + try { + myProxySelector = ss.getProxySelector(); + } catch (ProxyException e) { + LOGGER.error("WPAD proxy error, see trace: ", e); + } + } + // final check to see if WPAD actually worked + if (myProxySelector != null) { + LOGGER.debug("Proxy initialised."); + ProxySelector.setDefault(myProxySelector); + } else { + LOGGER.error("Could not find a suitable proxy!"); + } + } +} |
