Add functions to handle WebTransport subprotocol negotiation headers.
Based on https://github.com/ietf-wg-webtrans/draft-ietf-webtrans-http3/pull/144
PiperOrigin-RevId: 583029408
diff --git a/build/source_list.bzl b/build/source_list.bzl
index 3615c89..df02f45 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -394,6 +394,7 @@
"web_transport/complete_buffer_visitor.h",
"web_transport/encapsulated/encapsulated_web_transport.h",
"web_transport/web_transport.h",
+ "web_transport/web_transport_headers.h",
]
quiche_core_srcs = [
"common/capsule.cc",
@@ -682,6 +683,7 @@
"spdy/core/spdy_protocol.cc",
"web_transport/complete_buffer_visitor.cc",
"web_transport/encapsulated/encapsulated_web_transport.cc",
+ "web_transport/web_transport_headers.cc",
]
quiche_tool_support_hdrs = [
"common/platform/api/quiche_command_line_flags.h",
@@ -1307,6 +1309,7 @@
"spdy/core/spdy_prefixed_buffer_reader_test.cc",
"spdy/core/spdy_protocol_test.cc",
"web_transport/encapsulated/encapsulated_web_transport_test.cc",
+ "web_transport/web_transport_headers_test.cc",
]
io_tests_hdrs = [
]
diff --git a/build/source_list.gni b/build/source_list.gni
index 472aede..16a7eea 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -394,6 +394,7 @@
"src/quiche/web_transport/complete_buffer_visitor.h",
"src/quiche/web_transport/encapsulated/encapsulated_web_transport.h",
"src/quiche/web_transport/web_transport.h",
+ "src/quiche/web_transport/web_transport_headers.h",
]
quiche_core_srcs = [
"src/quiche/common/capsule.cc",
@@ -682,6 +683,7 @@
"src/quiche/spdy/core/spdy_protocol.cc",
"src/quiche/web_transport/complete_buffer_visitor.cc",
"src/quiche/web_transport/encapsulated/encapsulated_web_transport.cc",
+ "src/quiche/web_transport/web_transport_headers.cc",
]
quiche_tool_support_hdrs = [
"src/quiche/common/platform/api/quiche_command_line_flags.h",
@@ -1308,6 +1310,7 @@
"src/quiche/spdy/core/spdy_prefixed_buffer_reader_test.cc",
"src/quiche/spdy/core/spdy_protocol_test.cc",
"src/quiche/web_transport/encapsulated/encapsulated_web_transport_test.cc",
+ "src/quiche/web_transport/web_transport_headers_test.cc",
]
io_tests_hdrs = [
diff --git a/build/source_list.json b/build/source_list.json
index fc9ff8b..41946db 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -392,7 +392,8 @@
"quiche/spdy/core/zero_copy_output_buffer.h",
"quiche/web_transport/complete_buffer_visitor.h",
"quiche/web_transport/encapsulated/encapsulated_web_transport.h",
- "quiche/web_transport/web_transport.h"
+ "quiche/web_transport/web_transport.h",
+ "quiche/web_transport/web_transport_headers.h"
],
"quiche_core_srcs": [
"quiche/common/capsule.cc",
@@ -680,7 +681,8 @@
"quiche/spdy/core/spdy_prefixed_buffer_reader.cc",
"quiche/spdy/core/spdy_protocol.cc",
"quiche/web_transport/complete_buffer_visitor.cc",
- "quiche/web_transport/encapsulated/encapsulated_web_transport.cc"
+ "quiche/web_transport/encapsulated/encapsulated_web_transport.cc",
+ "quiche/web_transport/web_transport_headers.cc"
],
"quiche_tool_support_hdrs": [
"quiche/common/platform/api/quiche_command_line_flags.h",
@@ -1306,7 +1308,8 @@
"quiche/spdy/core/spdy_pinnable_buffer_piece_test.cc",
"quiche/spdy/core/spdy_prefixed_buffer_reader_test.cc",
"quiche/spdy/core/spdy_protocol_test.cc",
- "quiche/web_transport/encapsulated/encapsulated_web_transport_test.cc"
+ "quiche/web_transport/encapsulated/encapsulated_web_transport_test.cc",
+ "quiche/web_transport/web_transport_headers_test.cc"
],
"io_tests_hdrs": [