001 package com.github.sarxos.webcam.ds.ipcam.impl;
002
003 import org.apache.http.HttpHost;
004 import org.apache.http.conn.params.ConnRoutePNames;
005 import org.apache.http.impl.client.DefaultHttpClient;
006 import org.apache.http.impl.conn.PoolingClientConnectionManager;
007 import org.slf4j.Logger;
008 import org.slf4j.LoggerFactory;
009
010
011 public class IpCamHttpClient extends DefaultHttpClient {
012
013 /**
014 * Logger.
015 */
016 private static final Logger LOG = LoggerFactory.getLogger(IpCamHttpClient.class);
017
018 /**
019 * Key for the proxy host property.
020 */
021 public static final String PROXY_HOST_KEY = "http.proxyHost";
022
023 /**
024 * Key for the proxy port number property.
025 */
026 public static final String PROXY_PORT_KEY = "http.proxyPort";
027
028 private HttpHost proxy = null;
029
030 public IpCamHttpClient() {
031
032 super(new PoolingClientConnectionManager());
033
034 // configure proxy if any
035
036 String proxyHost = System.getProperty(PROXY_HOST_KEY);
037 String proxyPort = System.getProperty(PROXY_PORT_KEY);
038
039 if (proxyHost != null && proxyPort != null) {
040
041 LOG.debug("Setting proxy '{}:{}'", proxyHost, proxyPort);
042
043 proxy = new HttpHost(proxyHost, Integer.parseInt(proxyPort), "http");
044
045 setProxy(proxy);
046 }
047 }
048
049 public void setProxy(HttpHost proxy) {
050 getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
051 }
052 }