Java tutorial
package com.webbfontaine.valuewebb.startup; import com.webbfontaine.valuewebb.props.ApplicationProperties; import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.CredentialsProvider; import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.impl.client.AbstractHttpClient; import org.apache.http.impl.client.BasicCredentialsProvider; import org.jboss.seam.Component; import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.Create; import org.jboss.seam.log.Log; import org.jboss.seam.log.Logging; /** * Copyrights 2002-2013 Webb Fontaine * This software is the proprietary information of Webb Fontaine. * Its use is subject to License terms. * Developer: nigiyan * Date: 13/11/2013 */ public class ProxyConfiguration { private static final Log LOGGER = Logging.getLog(ProxyConfiguration.class); private String host; private int port; private String userName; private String password; private String protocol; @Create public void init() { LOGGER.info("Proxy configuration has been {0}.", (ApplicationProperties.isAllowProxy() ? "enabled" : "disabled")); } public void addProxy(AbstractHttpClient httpClient) { if (ApplicationProperties.isAllowProxy()) { LOGGER.debug("Adding PROXY for HTTP Client"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials(new AuthScope(host, port), new UsernamePasswordCredentials(userName, password)); httpClient.setCredentialsProvider(credsProvider); HttpHost proxy = new HttpHost(host, port, protocol); httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); } else { LOGGER.warn("HTTP Client has requested for PROXY but it is disabled."); } } public static ProxyConfiguration getInstance() { return (ProxyConfiguration) Component.getInstance("proxyConfiguration", ScopeType.APPLICATION, false); } public String getHost() { return host; } public void setHost(String host) { this.host = host; } public int getPort() { return port; } public void setPort(int port) { this.port = port; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getProtocol() { return protocol; } public void setProtocol(String protocol) { this.protocol = protocol; } }