Let QuicTestBackend accept generic "echo.*" pass
This is required to test declarativeNetRequest API [1] implementation in Chrome.
[1] https://developer.chrome.com/docs/extensions/reference/declarativeNetRequest/
PiperOrigin-RevId: 397254686
diff --git a/quic/core/http/end_to_end_test.cc b/quic/core/http/end_to_end_test.cc
index 31041fa..6a1c4a8 100644
--- a/quic/core/http/end_to_end_test.cc
+++ b/quic/core/http/end_to_end_test.cc
@@ -6035,6 +6035,26 @@
server_thread_->Resume();
}
+TEST_P(EndToEndTest, WebTransportSessionSetupWithEchoWithSuffix) {
+ enable_web_transport_ = true;
+ ASSERT_TRUE(Initialize());
+
+ if (!version_.UsesHttp3()) {
+ return;
+ }
+
+ // "/echoFoo" should be accepted as "echo"
+ WebTransportHttp3* web_transport =
+ CreateWebTransportSession("/echoFoo", /*wait_for_server_response=*/true);
+ ASSERT_NE(web_transport, nullptr);
+
+ server_thread_->Pause();
+ QuicSpdySession* server_session = GetServerSession();
+ EXPECT_TRUE(server_session->GetWebTransportSession(web_transport->id()) !=
+ nullptr);
+ server_thread_->Resume();
+}
+
TEST_P(EndToEndTest, WebTransportSessionWithLoss) {
enable_web_transport_ = true;
// Enable loss to verify all permutations of receiving SETTINGS and
diff --git a/quic/test_tools/quic_test_backend.cc b/quic/test_tools/quic_test_backend.cc
index eb419b6..eed6a1a 100644
--- a/quic/test_tools/quic_test_backend.cc
+++ b/quic/test_tools/quic_test_backend.cc
@@ -33,7 +33,8 @@
return response;
}
absl::string_view path = path_it->second;
- if (path == "/echo") {
+ // Match any "/echo.*" pass, e.g. "/echo_foobar"
+ if (absl::StartsWith(path, "/echo")) {
WebTransportResponse response;
response.response_headers[":status"] = "200";
response.visitor =