• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 namespace net {
8 
NextProtoFromString(base::StringPiece proto_string)9 NextProto NextProtoFromString(base::StringPiece proto_string) {
10   if (proto_string == "http/1.1") {
11     return kProtoHTTP11;
12   }
13   if (proto_string == "h2") {
14     return kProtoHTTP2;
15   }
16   if (proto_string == "quic" || proto_string == "hq") {
17     return kProtoQUIC;
18   }
19 
20   return kProtoUnknown;
21 }
22 
NextProtoToString(NextProto next_proto)23 const char* NextProtoToString(NextProto next_proto) {
24   switch (next_proto) {
25     case kProtoHTTP11:
26       return "http/1.1";
27     case kProtoHTTP2:
28       return "h2";
29     case kProtoQUIC:
30       return "quic";
31     case kProtoUnknown:
32       break;
33   }
34   return "unknown";
35 }
36 
37 }  // namespace net
38