| Index: net/http/http_server_properties.cc
|
| diff --git a/net/http/http_server_properties.cc b/net/http/http_server_properties.cc
|
| index 1e5471c5e0c50be122241a1717a1eeed6645ee8f..c6c6432d5e49c22f6feea3886a91233648024171 100644
|
| --- a/net/http/http_server_properties.cc
|
| +++ b/net/http/http_server_properties.cc
|
| @@ -63,23 +63,66 @@
|
| BROKEN_ALTERNATE_PROTOCOL_LOCATION_MAX);
|
| }
|
|
|
| -bool IsAlternateProtocolValid(NextProto protocol) {
|
| +bool IsAlternateProtocolValid(AlternateProtocol protocol) {
|
| switch (protocol) {
|
| - case kProtoUnknown:
|
| + case NPN_HTTP_2:
|
| + return true;
|
| + case QUIC:
|
| + return true;
|
| + case UNINITIALIZED_ALTERNATE_PROTOCOL:
|
| return false;
|
| - case kProtoHTTP11:
|
| - return false;
|
| - case kProtoHTTP2:
|
| - return true;
|
| - case kProtoQUIC:
|
| - return true;
|
| }
|
| NOTREACHED();
|
| return false;
|
| }
|
|
|
| +const char* AlternateProtocolToString(AlternateProtocol protocol) {
|
| + switch (protocol) {
|
| + case QUIC:
|
| + return "quic";
|
| + case NPN_HTTP_2:
|
| + return "h2";
|
| + case UNINITIALIZED_ALTERNATE_PROTOCOL:
|
| + return "Uninitialized";
|
| + }
|
| + NOTREACHED();
|
| + return "";
|
| +}
|
| +
|
| +AlternateProtocol AlternateProtocolFromString(const std::string& str) {
|
| + if (str == "quic")
|
| + return QUIC;
|
| + if (str == "h2")
|
| + return NPN_HTTP_2;
|
| + // "npn-h2" and "npn-spdy/3.1" are accepted here so that persisted settings
|
| + // with the old string can be loaded from disk. TODO(bnc): Remove around
|
| + // 2016 December.
|
| + if (str == "npn-h2")
|
| + return NPN_HTTP_2;
|
| + if (str == "npn-spdy/3.1")
|
| + return NPN_HTTP_2;
|
| +
|
| + return UNINITIALIZED_ALTERNATE_PROTOCOL;
|
| +}
|
| +
|
| +AlternateProtocol AlternateProtocolFromNextProto(NextProto next_proto) {
|
| + switch (next_proto) {
|
| + case kProtoHTTP2:
|
| + return NPN_HTTP_2;
|
| + case kProtoQUIC:
|
| + return QUIC;
|
| +
|
| + case kProtoUnknown:
|
| + case kProtoHTTP11:
|
| + break;
|
| + }
|
| +
|
| + NOTREACHED() << "Invalid NextProto: " << next_proto;
|
| + return UNINITIALIZED_ALTERNATE_PROTOCOL;
|
| +}
|
| +
|
| std::string AlternativeService::ToString() const {
|
| - return base::StringPrintf("%s %s:%d", NextProtoToString(protocol),
|
| + return base::StringPrintf("%s %s:%d", AlternateProtocolToString(protocol),
|
| host.c_str(), port);
|
| }
|
|
|
|
|