return 0;
}
- void HttpsMethod::SetupProxy()
-void HttpsMethod::SetupProxy() { /*{{{*/
- URI ServerName = Queue->Uri;
-
- // Determine the proxy setting - try https first, fallback to http and use env at last
- string UseProxy = _config->Find("Acquire::https::Proxy::" + ServerName.Host,
- _config->Find("Acquire::http::Proxy::" + ServerName.Host).c_str());
-
- if (UseProxy.empty() == true)
- UseProxy = _config->Find("Acquire::https::Proxy", _config->Find("Acquire::http::Proxy").c_str());
-
- // User want to use NO proxy, so nothing to setup
- if (UseProxy == "DIRECT")
- return;
-
- if (UseProxy.empty() == false) {
- // Parse no_proxy, a comma (,) separated list of domains we don't want to use
- // a proxy for so we stop right here if it is in the list
- if (getenv("no_proxy") != 0 && CheckDomainList(ServerName.Host,getenv("no_proxy")) == true)
- return;
- } else {
- const char* result = getenv("http_proxy");
- UseProxy = result == NULL ? "" : result;
- }
-
- // Determine what host and port to use based on the proxy settings
- if (UseProxy.empty() == false) {
- Proxy = UseProxy;
- if (Proxy.Port != 1)
- curl_easy_setopt(curl, CURLOPT_PROXYPORT, Proxy.Port);
- curl_easy_setopt(curl, CURLOPT_PROXY, Proxy.Host.c_str());
- }
++void HttpsMethod::SetupProxy() /*{{{*/
+{
+ URI ServerName = Queue->Uri;
+
- // Determine the proxy setting
- string SpecificProxy = _config->Find("Acquire::http::Proxy::" + ServerName.Host);
- if (!SpecificProxy.empty())
- {
- if (SpecificProxy == "DIRECT")
- Proxy = "";
- else
- Proxy = SpecificProxy;
- }
- else
- {
- string DefProxy = _config->Find("Acquire::http::Proxy");
- if (!DefProxy.empty())
- {
- Proxy = DefProxy;
- }
- else
- {
- char* result = getenv("http_proxy");
- Proxy = result ? result : "";
- }
- }
-
- // Parse no_proxy, a , separated list of domains
- if (getenv("no_proxy") != 0)
++ // Determine the proxy setting - try https first, fallback to http and use env at last
++ string UseProxy = _config->Find("Acquire::https::Proxy::" + ServerName.Host,
++ _config->Find("Acquire::http::Proxy::" + ServerName.Host).c_str());
++
++ if (UseProxy.empty() == true)
++ UseProxy = _config->Find("Acquire::https::Proxy", _config->Find("Acquire::http::Proxy").c_str());
++
++ // User want to use NO proxy, so nothing to setup
++ if (UseProxy == "DIRECT")
++ return;
++
++ if (UseProxy.empty() == false)
+ {
- if (CheckDomainList(ServerName.Host,getenv("no_proxy")) == true)
- Proxy = "";
++ // Parse no_proxy, a comma (,) separated list of domains we don't want to use
++ // a proxy for so we stop right here if it is in the list
++ if (getenv("no_proxy") != 0 && CheckDomainList(ServerName.Host,getenv("no_proxy")) == true)
++ return;
++ } else {
++ const char* result = getenv("http_proxy");
++ UseProxy = result == NULL ? "" : result;
+ }
-
++
+ // Determine what host and port to use based on the proxy settings
- string Host;
- if (Proxy.empty() == true || Proxy.Host.empty() == true)
- {
- }
- else
++ if (UseProxy.empty() == false)
+ {
- if (Proxy.Port != 0)
++ Proxy = UseProxy;
++ if (Proxy.Port != 1)
+ curl_easy_setopt(curl, CURLOPT_PROXYPORT, Proxy.Port);
+ curl_easy_setopt(curl, CURLOPT_PROXY, Proxy.Host.c_str());
+ }
- }
-
-
+ } /*}}}*/
// HttpsMethod::Fetch - Fetch an item /*{{{*/
// ---------------------------------------------------------------------
/* This adds an item to the pipeline. We keep the pipeline at a fixed