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