In QuicToyClient, set max_inbound_header_list_size to 128K by default.

PiperOrigin-RevId: 389026085
diff --git a/quic/tools/quic_spdy_client_base.cc b/quic/tools/quic_spdy_client_base.cc
index 4f51eb4..464fa70 100644
--- a/quic/tools/quic_spdy_client_base.cc
+++ b/quic/tools/quic_spdy_client_base.cc
@@ -67,6 +67,10 @@
 }
 
 void QuicSpdyClientBase::InitializeSession() {
+  if (max_inbound_header_list_size_ > 0) {
+    client_session()->set_max_inbound_header_list_size(
+        max_inbound_header_list_size_);
+  }
   client_session()->Initialize();
   client_session()->CryptoConnect();
 }
diff --git a/quic/tools/quic_spdy_client_base.h b/quic/tools/quic_spdy_client_base.h
index 2ba55f1..c49d0ed 100644
--- a/quic/tools/quic_spdy_client_base.h
+++ b/quic/tools/quic_spdy_client_base.h
@@ -149,6 +149,10 @@
   bool EarlyDataAccepted() override;
   bool ReceivedInchoateReject() override;
 
+  void set_max_inbound_header_list_size(size_t size) {
+    max_inbound_header_list_size_ = size;
+  }
+
  protected:
   int GetNumSentClientHellosFromSession() override;
   int GetNumReceivedServerConfigUpdatesFromSession() override;
@@ -223,6 +227,9 @@
 
   bool drop_response_body_ = false;
   bool enable_web_transport_ = false;
+  // If not zero, used to set client's max inbound header size before session
+  // initialize.
+  size_t max_inbound_header_list_size_ = 0;
 };
 
 }  // namespace quic
diff --git a/quic/tools/quic_toy_client.cc b/quic/tools/quic_toy_client.cc
index 81a0202..5cda202 100644
--- a/quic/tools/quic_toy_client.cc
+++ b/quic/tools/quic_toy_client.cc
@@ -215,6 +215,9 @@
                               10000,
                               "Max time to wait before handshake completes.");
 
+DEFINE_QUIC_COMMAND_LINE_FLAG(size_t, max_inbound_header_list_size, 128 * 1024,
+                              "Max inbound header list size. 0 means default.");
+
 namespace quic {
 
 QuicToyClient::QuicToyClient(ClientFactory* client_factory)
@@ -331,6 +334,11 @@
   if (client_connection_id_length >= 0) {
     client->set_client_connection_id_length(client_connection_id_length);
   }
+  const size_t max_inbound_header_list_size =
+      GetQuicFlag(FLAGS_max_inbound_header_list_size);
+  if (max_inbound_header_list_size > 0) {
+    client->set_max_inbound_header_list_size(max_inbound_header_list_size);
+  }
   if (!client->Initialize()) {
     std::cerr << "Failed to initialize client." << std::endl;
     return 1;