summaryrefslogtreecommitdiffstats
path: root/net/proxy/proxy_server.cc
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-05 07:38:01 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-05 07:38:01 +0000
commita3c5c07dd1717fd7d372622bb51c8391aa54a35d (patch)
tree6eef2d04e32163e78bc09a965fe1f442d4765ac4 /net/proxy/proxy_server.cc
parentecf95d98d5ac5026b93eb2152ebc40351d5cb277 (diff)
downloadchromium_src-a3c5c07dd1717fd7d372622bb51c8391aa54a35d.zip
chromium_src-a3c5c07dd1717fd7d372622bb51c8391aa54a35d.tar.gz
chromium_src-a3c5c07dd1717fd7d372622bb51c8391aa54a35d.tar.bz2
Implement support for QUIC proxies in ProxyServer
BUG=335275 Review URL: https://codereview.chromium.org/144623006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248904 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy/proxy_server.cc')
-rw-r--r--net/proxy/proxy_server.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/net/proxy/proxy_server.cc b/net/proxy/proxy_server.cc
index deb77913..b0997e0 100644
--- a/net/proxy/proxy_server.cc
+++ b/net/proxy/proxy_server.cc
@@ -36,6 +36,8 @@ ProxyServer::Scheme GetSchemeFromPacTypeInternal(
return ProxyServer::SCHEME_DIRECT;
if (LowerCaseEqualsASCII(begin, end, "https"))
return ProxyServer::SCHEME_HTTPS;
+ if (LowerCaseEqualsASCII(begin, end, "quic"))
+ return ProxyServer::SCHEME_QUIC;
return ProxyServer::SCHEME_INVALID;
}
@@ -57,6 +59,8 @@ ProxyServer::Scheme GetSchemeFromURIInternal(std::string::const_iterator begin,
return ProxyServer::SCHEME_DIRECT;
if (LowerCaseEqualsASCII(begin, end, "https"))
return ProxyServer::SCHEME_HTTPS;
+ if (LowerCaseEqualsASCII(begin, end, "quic"))
+ return ProxyServer::SCHEME_QUIC;
return ProxyServer::SCHEME_INVALID;
}
@@ -131,6 +135,8 @@ std::string ProxyServer::ToURI() const {
return std::string("socks5://") + host_port_pair().ToString();
case SCHEME_HTTPS:
return std::string("https://") + host_port_pair().ToString();
+ case SCHEME_QUIC:
+ return std::string("quic://") + host_port_pair().ToString();
default:
// Got called with an invalid scheme.
NOTREACHED();
@@ -181,6 +187,8 @@ std::string ProxyServer::ToPacString() const {
return std::string("SOCKS5 ") + host_port_pair().ToString();
case SCHEME_HTTPS:
return std::string("HTTPS ") + host_port_pair().ToString();
+ case SCHEME_QUIC:
+ return std::string("QUIC ") + host_port_pair().ToString();
default:
// Got called with an invalid scheme.
NOTREACHED();
@@ -197,10 +205,13 @@ int ProxyServer::GetDefaultPortForScheme(Scheme scheme) {
case SCHEME_SOCKS5:
return 1080;
case SCHEME_HTTPS:
+ case SCHEME_QUIC:
return 443;
- default:
- return -1;
+ case SCHEME_INVALID:
+ case SCHEME_DIRECT:
+ break;
}
+ return -1;
}
// static