package jd.http; import java.net.URL; import org.appwork.utils.net.httpconnection.HTTPProxy; public class HTTPConnectionFactory { public static URLConnectionAdapter createHTTPConnection(final URL url, final HTTPProxy proxy) { if (proxy == null) { return new URLConnectionAdapterDirectImpl(url); } if (proxy.isNone()) { return new URLConnectionAdapterDirectImpl(url, proxy); } if (proxy.isDirect()) { return new URLConnectionAdapterDirectImpl(url, proxy); } if (proxy.getType().equals(HTTPProxy.TYPE.SOCKS5)) { return new URLConnectionAdapterSocks5Impl(url, proxy); } if (proxy.getType().equals(HTTPProxy.TYPE.SOCKS4)) { return new URLConnectionAdapterSocks4Impl(url, proxy); } if (proxy.getType().equals(HTTPProxy.TYPE.HTTP)) { URLConnectionAdapterHTTPProxyImpl ret = new URLConnectionAdapterHTTPProxyImpl(url, proxy); ret.setPreferConnectMethod(proxy.isConnectMethodPrefered()); return ret; } throw new RuntimeException("unsupported proxy type: " + proxy.getType().name()); } }