001package com.github.sarxos.webcam.ds.ipcam.impl;
002
003import org.apache.http.HttpHost;
004import org.apache.http.conn.params.ConnRoutePNames;
005import org.apache.http.impl.client.DefaultHttpClient;
006import org.apache.http.impl.conn.PoolingClientConnectionManager;
007import org.slf4j.Logger;
008import org.slf4j.LoggerFactory;
009
010
011public 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}