next_proto.cc 810 B

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