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}