diff options
author | ericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-13 17:32:37 +0000 |
---|---|---|
committer | ericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-13 17:32:37 +0000 |
commit | 13a279ed95dc2e5d2f71172594dca1c3901b1322 (patch) | |
tree | ce274eb858c4c4fdd86e47fb05aba8cf03766aa1 /net/proxy/proxy_config.cc | |
parent | 6b5f21d8a7f8c0b6b4a689f32afe62fe64d0fa04 (diff) | |
download | chromium_src-13a279ed95dc2e5d2f71172594dca1c3901b1322.zip chromium_src-13a279ed95dc2e5d2f71172594dca1c3901b1322.tar.gz chromium_src-13a279ed95dc2e5d2f71172594dca1c3901b1322.tar.bz2 |
Add some LOG(INFO) to help diagnose problems when proxy is not working.
- Dump the proxy configuration to LOG(INFO) each time it changes
- Log each attempt at downloading a PAC script.
Review URL: http://codereview.chromium.org/67053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13601 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy/proxy_config.cc')
-rw-r--r-- | net/proxy/proxy_config.cc | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/net/proxy/proxy_config.cc b/net/proxy/proxy_config.cc index 07c1d50..009fcf0 100644 --- a/net/proxy/proxy_config.cc +++ b/net/proxy/proxy_config.cc @@ -80,3 +80,67 @@ const ProxyServer* ProxyConfig::ProxyRules::MapSchemeToProxy( } } // namespace net + +namespace { + +// Helper to stringize a ProxyServer. +std::ostream& operator<<(std::ostream& out, + const net::ProxyServer& proxy_server) { + if (proxy_server.is_valid()) + out << proxy_server.ToURI(); + return out; +} + +// Helper to stringize a ProxyRules. +std::ostream& operator<<(std::ostream& out, + const net::ProxyConfig::ProxyRules& rules) { + // Stringize the type enum. + std::string type; + switch (rules.type) { + case net::ProxyConfig::ProxyRules::TYPE_NO_RULES: + type = "TYPE_NO_RULES"; + break; + case net::ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME: + type = "TYPE_PROXY_PER_SCHEME"; + break; + case net::ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY: + type = "TYPE_SINGLE_PROXY"; + break; + default: + type = IntToString(rules.type); + break; + } + return out << " {\n" + << " type: " << type << "\n" + << " single_proxy: " << rules.single_proxy << "\n" + << " proxy_for_http: " << rules.proxy_for_http << "\n" + << " proxy_for_https: " << rules.proxy_for_https << "\n" + << " proxy_for_ftp: " << rules.proxy_for_ftp << "\n" + << " }"; +} + +} // namespace + +std::ostream& operator<<(std::ostream& out, const net::ProxyConfig& config) { + out << "{\n" + << " auto_detect: " << config.auto_detect << "\n" + << " pac_url: " << config.pac_url << "\n" + << " proxy_rules:\n" << config.proxy_rules << "\n" + << " proxy_bypass_local_names: " << config.proxy_bypass_local_names + << "\n" + << " proxy_bypass_list:\n"; + + // Print out the proxy bypass list. + if (!config.proxy_bypass.empty()) { + out << " {\n"; + std::vector<std::string>::const_iterator it; + for (it = config.proxy_bypass.begin(); + it != config.proxy_bypass.end(); ++it) { + out << " " << *it << "\n"; + } + out << " }\n"; + } + + out << "}"; + return out; +} |