private HostConfiguration getHostConfiguration(HttpClient client, Map<String, Object> props) {
    Object proxy = props.get(ApacheHttpClientConfig.PROPERTY_PROXY_URI);
    if (proxy != null) {
      URI proxyUri = getProxyUri(proxy);

      String proxyHost = proxyUri.getHost();
      if (proxyHost == null) {
        proxyHost = "localhost";
      }

      int proxyPort = proxyUri.getPort();
      if (proxyPort == -1) {
        proxyPort = 8080;
      }

      HostConfiguration hostConfig = new HostConfiguration(client.getHostConfiguration());
      String setHost = hostConfig.getProxyHost();
      int setPort = hostConfig.getProxyPort();

      if ((setHost == null)
          || (!setHost.equals(proxyHost))
          || (setPort == -1)
          || (setPort != proxyPort)) {
        hostConfig.setProxyHost(new ProxyHost(proxyHost, proxyPort));
      }
      return hostConfig;
    } else {
      return null;
    }
  }