Merge pull request #70 from brightray/proxy-server

Add --proxy-server and --no-proxy-server switch
This commit is contained in:
Cheng Zhao 2014-08-20 11:55:08 +08:00
commit bbb3702543

View file

@ -63,6 +63,14 @@ namespace {
// proxy connection, and the endpoint host in a SOCKS proxy connection). // proxy connection, and the endpoint host in a SOCKS proxy connection).
const char kHostRules[] = "host-rules"; const char kHostRules[] = "host-rules";
// Don't use a proxy server, always make direct connections. Overrides any
// other proxy server flags that are passed.
const char kNoProxyServer[] = "no-proxy-server";
// Uses a specified proxy server, overrides system settings. This switch only
// affects HTTP and HTTPS requests.
const char kProxyServer[] = "proxy-server";
} // namespace } // namespace
URLRequestContextGetter::URLRequestContextGetter( URLRequestContextGetter::URLRequestContextGetter(
@ -132,6 +140,12 @@ net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() {
} }
net::DhcpProxyScriptFetcherFactory dhcp_factory; net::DhcpProxyScriptFetcherFactory dhcp_factory;
if (command_line.HasSwitch(kNoProxyServer))
storage_->set_proxy_service(net::ProxyService::CreateDirect());
else if (command_line.HasSwitch(kProxyServer))
storage_->set_proxy_service(net::ProxyService::CreateFixed(
command_line.GetSwitchValueASCII(kProxyServer)));
else
storage_->set_proxy_service( storage_->set_proxy_service(
net::CreateProxyServiceUsingV8ProxyResolver( net::CreateProxyServiceUsingV8ProxyResolver(
proxy_config_service_.release(), proxy_config_service_.release(),