1 // Copyright 2016 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "net/socket/next_proto.h" 6 7 #include <string_view> 8 9 namespace net { 10 NextProtoFromString(std::string_view proto_string)11NextProto NextProtoFromString(std::string_view proto_string) { 12 if (proto_string == "http/1.1") { 13 return kProtoHTTP11; 14 } 15 if (proto_string == "h2") { 16 return kProtoHTTP2; 17 } 18 if (proto_string == "quic" || proto_string == "hq") { 19 return kProtoQUIC; 20 } 21 22 return kProtoUnknown; 23 } 24 NextProtoToString(NextProto next_proto)25const char* NextProtoToString(NextProto next_proto) { 26 switch (next_proto) { 27 case kProtoHTTP11: 28 return "http/1.1"; 29 case kProtoHTTP2: 30 return "h2"; 31 case kProtoQUIC: 32 return "quic"; 33 case kProtoUnknown: 34 break; 35 } 36 return "unknown"; 37 } 38 39 } // namespace net 40