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    }