Resolve the following 82 technical "build-missing-std-includes" debt issues:

missing #include <vector> for 'std::vector' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/quic_crypto_server_config.cc
	//depot/google3/third_party/quic/core/crypto/quic_crypto_server_config_test.cc
	//depot/google3/third_party/quic/core/crypto/tls_client_connection.cc
	//depot/google3/third_party/quic/core/crypto/transport_parameters.cc
	//depot/google3/third_party/quic/core/crypto/transport_parameters_test.cc
	//depot/google3/third_party/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
	//depot/google3/third_party/quic/core/deterministic_connection_id_generator_test.cc
	//depot/google3/third_party/quic/core/frames/quic_frames_test.cc
	//depot/google3/third_party/quic/core/http/http_encoder.cc
	//depot/google3/third_party/quic/core/http/quic_receive_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base_test.cc

missing #include <utility> for 'std::move' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/quic_crypto_server_config_test.cc
	//depot/google3/third_party/quic/core/crypto/tls_client_connection.cc
	//depot/google3/third_party/quic/core/crypto/tls_connection.cc
	//depot/google3/third_party/quic/core/frames/quic_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_message_frame.cc
	//depot/google3/third_party/quic/core/http/http_decoder.cc
	//depot/google3/third_party/quic/core/http/quic_headers_stream.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

missing #include <memory> for 'std::unique_ptr' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/quic_decrypter.cc
	//depot/google3/third_party/quic/core/crypto/quic_encrypter.cc
	//depot/google3/third_party/quic/core/crypto/transport_parameters_test.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc
	//depot/google3/third_party/quic/core/http/quic_spdy_client_session.cc

missing #include <string> for 'std::string' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/transport_parameters.cc
	//depot/google3/third_party/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc
	//depot/google3/third_party/quic/core/frames/quic_connection_close_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_frame.cc
	//depot/google3/third_party/quic/core/http/http_constants.cc
	//depot/google3/third_party/quic/core/http/http_decoder.cc
	//depot/google3/third_party/quic/core/http/http_encoder.cc
	//depot/google3/third_party/quic/core/http/http_encoder_test.cc
	//depot/google3/third_party/quic/core/http/metadata_decoder_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream.cc

missing #include <ostream> for 'std::ostream' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/transport_parameters.cc
	//depot/google3/third_party/quic/core/deterministic_connection_id_generator_test.cc
	//depot/google3/third_party/quic/core/frames/quic_ack_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_ack_frequency_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_blocked_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_connection_close_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_crypto_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_goaway_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_handshake_done_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_max_streams_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_message_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_new_connection_id_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_new_token_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_padding_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_path_challenge_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_path_response_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_ping_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_retire_connection_id_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_rst_stream_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_stop_sending_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_stop_waiting_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_stream_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_streams_blocked_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_window_update_frame.cc
	//depot/google3/third_party/quic/core/http/quic_receive_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream_test.cc

missing #include <algorithm> for 'std::find' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/transport_parameters.cc

missing #include <optional> for 'std::nullopt' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/crypto/transport_parameters_test.cc

missing #include <optional> for 'std::optional' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/deterministic_connection_id_generator.cc
	//depot/google3/third_party/quic/core/http/end_to_end_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

missing #include <utility> for 'std::pair' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/frames/quic_ack_frame.cc
	//depot/google3/third_party/quic/core/http/http_encoder.cc

missing #include <sstream> for 'std::ostringstream' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/frames/quic_frame.cc
	//depot/google3/third_party/quic/core/frames/quic_frames_test.cc

missing #include <algorithm> for 'std::max' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/end_to_end_test.cc

missing #include <array> for 'std::array' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/end_to_end_test.cc

missing #include <algorithm> for 'std::min' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/http_decoder.cc
	//depot/google3/third_party/quic/core/http/quic_headers_stream.cc
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

missing #include <algorithm> for 'std::sort' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/http_encoder.cc

missing #include <memory> for 'std::make_unique' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/quic_headers_stream_test.cc
	//depot/google3/third_party/quic/core/http/quic_send_control_stream_test.cc

missing #include <cstdlib> for 'std::abs' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

missing #include <limits> for 'std::numeric_limits' (google3-build-missing-std-includes)
	//depot/google3/third_party/quic/core/http/quic_server_session_base.cc

CL generated via Upkeep (go/upkeep).

#upkeep #autofix #codehealth #cleanup

PiperOrigin-RevId: 635880479
diff --git a/quiche/quic/core/crypto/quic_crypto_server_config.cc b/quiche/quic/core/crypto/quic_crypto_server_config.cc
index 39ba6f3..7acc867 100644
--- a/quiche/quic/core/crypto/quic_crypto_server_config.cc
+++ b/quiche/quic/core/crypto/quic_crypto_server_config.cc
@@ -10,6 +10,7 @@
 #include <optional>
 #include <string>
 #include <utility>
+#include <vector>
 
 #include "absl/base/attributes.h"
 #include "absl/strings/escaping.h"
diff --git a/quiche/quic/core/crypto/quic_crypto_server_config_test.cc b/quiche/quic/core/crypto/quic_crypto_server_config_test.cc
index ed7ffdb..6b517f4 100644
--- a/quiche/quic/core/crypto/quic_crypto_server_config_test.cc
+++ b/quiche/quic/core/crypto/quic_crypto_server_config_test.cc
@@ -8,6 +8,8 @@
 
 #include <memory>
 #include <string>
+#include <utility>
+#include <vector>
 
 #include "absl/strings/match.h"
 #include "absl/strings/string_view.h"
diff --git a/quiche/quic/core/crypto/quic_decrypter.cc b/quiche/quic/core/crypto/quic_decrypter.cc
index da0e809..3cd4485 100644
--- a/quiche/quic/core/crypto/quic_decrypter.cc
+++ b/quiche/quic/core/crypto/quic_decrypter.cc
@@ -4,6 +4,7 @@
 
 #include "quiche/quic/core/crypto/quic_decrypter.h"
 
+#include <memory>
 #include <string>
 #include <utility>
 
diff --git a/quiche/quic/core/crypto/quic_encrypter.cc b/quiche/quic/core/crypto/quic_encrypter.cc
index 151b8d0..c9f571a 100644
--- a/quiche/quic/core/crypto/quic_encrypter.cc
+++ b/quiche/quic/core/crypto/quic_encrypter.cc
@@ -4,6 +4,7 @@
 
 #include "quiche/quic/core/crypto/quic_encrypter.h"
 
+#include <memory>
 #include <utility>
 
 #include "openssl/tls1.h"
diff --git a/quiche/quic/core/crypto/tls_client_connection.cc b/quiche/quic/core/crypto/tls_client_connection.cc
index 7436b23..d70737d 100644
--- a/quiche/quic/core/crypto/tls_client_connection.cc
+++ b/quiche/quic/core/crypto/tls_client_connection.cc
@@ -4,6 +4,9 @@
 
 #include "quiche/quic/core/crypto/tls_client_connection.h"
 
+#include <utility>
+#include <vector>
+
 namespace quic {
 
 TlsClientConnection::TlsClientConnection(SSL_CTX* ssl_ctx, Delegate* delegate,
diff --git a/quiche/quic/core/crypto/tls_connection.cc b/quiche/quic/core/crypto/tls_connection.cc
index 1977aa9..66e26b7 100644
--- a/quiche/quic/core/crypto/tls_connection.cc
+++ b/quiche/quic/core/crypto/tls_connection.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/crypto/tls_connection.h"
 
+#include <utility>
+
 #include "absl/strings/string_view.h"
 #include "openssl/ssl.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
diff --git a/quiche/quic/core/crypto/transport_parameters.cc b/quiche/quic/core/crypto/transport_parameters.cc
index af655d2..1aaa820 100644
--- a/quiche/quic/core/crypto/transport_parameters.cc
+++ b/quiche/quic/core/crypto/transport_parameters.cc
@@ -4,11 +4,15 @@
 
 #include "quiche/quic/core/crypto/transport_parameters.h"
 
+#include <algorithm>
 #include <cstdint>
 #include <cstring>
 #include <forward_list>
 #include <memory>
+#include <ostream>
+#include <string>
 #include <utility>
+#include <vector>
 
 #include "absl/strings/escaping.h"
 #include "absl/strings/str_cat.h"
diff --git a/quiche/quic/core/crypto/transport_parameters_test.cc b/quiche/quic/core/crypto/transport_parameters_test.cc
index 62fffd6..b6d4b37 100644
--- a/quiche/quic/core/crypto/transport_parameters_test.cc
+++ b/quiche/quic/core/crypto/transport_parameters_test.cc
@@ -5,8 +5,11 @@
 #include "quiche/quic/core/crypto/transport_parameters.h"
 
 #include <cstring>
+#include <memory>
+#include <optional>
 #include <string>
 #include <utility>
+#include <vector>
 
 #include "absl/base/macros.h"
 #include "absl/strings/escaping.h"
diff --git a/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc b/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
index fc8cffd..a784fb6 100644
--- a/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
+++ b/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
@@ -8,6 +8,7 @@
 #include <memory>
 #include <string>
 #include <utility>
+#include <vector>
 
 #include "absl/strings/escaping.h"
 #include "absl/strings/match.h"
diff --git a/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc b/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc
index 11c769d..30b4959 100644
--- a/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc
+++ b/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier_test.cc
@@ -5,6 +5,7 @@
 #include "quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.h"
 
 #include <memory>
+#include <string>
 
 #include "absl/strings/escaping.h"
 #include "absl/strings/string_view.h"
diff --git a/quiche/quic/core/deterministic_connection_id_generator.cc b/quiche/quic/core/deterministic_connection_id_generator.cc
index 4a22b63..ab85baf 100644
--- a/quiche/quic/core/deterministic_connection_id_generator.cc
+++ b/quiche/quic/core/deterministic_connection_id_generator.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/deterministic_connection_id_generator.h"
 
+#include <optional>
+
 #include "quiche/quic/core/quic_utils.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
 #include "quiche/quic/platform/api/quic_logging.h"
diff --git a/quiche/quic/core/deterministic_connection_id_generator_test.cc b/quiche/quic/core/deterministic_connection_id_generator_test.cc
index 47195cc..4f99d93 100644
--- a/quiche/quic/core/deterministic_connection_id_generator_test.cc
+++ b/quiche/quic/core/deterministic_connection_id_generator_test.cc
@@ -5,6 +5,8 @@
 #include "quiche/quic/core/deterministic_connection_id_generator.h"
 
 #include <optional>
+#include <ostream>
+#include <vector>
 
 #include "quiche/quic/platform/api/quic_test.h"
 #include "quiche/quic/test_tools/quic_test_utils.h"
diff --git a/quiche/quic/core/frames/quic_ack_frame.cc b/quiche/quic/core/frames/quic_ack_frame.cc
index 1e42b7d..ae6a2c9 100644
--- a/quiche/quic/core/frames/quic_ack_frame.cc
+++ b/quiche/quic/core/frames/quic_ack_frame.cc
@@ -4,6 +4,9 @@
 
 #include "quiche/quic/core/frames/quic_ack_frame.h"
 
+#include <ostream>
+#include <utility>
+
 #include "quiche/quic/core/quic_constants.h"
 #include "quiche/quic/core/quic_interval.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
diff --git a/quiche/quic/core/frames/quic_ack_frequency_frame.cc b/quiche/quic/core/frames/quic_ack_frequency_frame.cc
index 9d2fc31..7faf7f1 100644
--- a/quiche/quic/core/frames/quic_ack_frequency_frame.cc
+++ b/quiche/quic/core/frames/quic_ack_frequency_frame.cc
@@ -6,6 +6,7 @@
 
 #include <cstdint>
 #include <limits>
+#include <ostream>
 
 namespace quic {
 
diff --git a/quiche/quic/core/frames/quic_blocked_frame.cc b/quiche/quic/core/frames/quic_blocked_frame.cc
index d06ec7b..3ee3d9b 100644
--- a/quiche/quic/core/frames/quic_blocked_frame.cc
+++ b/quiche/quic/core/frames/quic_blocked_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_blocked_frame.h"
 
+#include <ostream>
+
 #include "quiche/quic/core/quic_types.h"
 
 namespace quic {
diff --git a/quiche/quic/core/frames/quic_connection_close_frame.cc b/quiche/quic/core/frames/quic_connection_close_frame.cc
index 640101e..432c657 100644
--- a/quiche/quic/core/frames/quic_connection_close_frame.cc
+++ b/quiche/quic/core/frames/quic_connection_close_frame.cc
@@ -5,6 +5,8 @@
 #include "quiche/quic/core/frames/quic_connection_close_frame.h"
 
 #include <memory>
+#include <ostream>
+#include <string>
 
 #include "quiche/quic/core/quic_constants.h"
 #include "quiche/quic/core/quic_error_codes.h"
diff --git a/quiche/quic/core/frames/quic_crypto_frame.cc b/quiche/quic/core/frames/quic_crypto_frame.cc
index 11ccf68..0f3f865 100644
--- a/quiche/quic/core/frames/quic_crypto_frame.cc
+++ b/quiche/quic/core/frames/quic_crypto_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_crypto_frame.h"
 
+#include <ostream>
+
 #include "absl/strings/string_view.h"
 #include "quiche/quic/platform/api/quic_logging.h"
 
diff --git a/quiche/quic/core/frames/quic_frame.cc b/quiche/quic/core/frames/quic_frame.cc
index b0bf329..6002ecd 100644
--- a/quiche/quic/core/frames/quic_frame.cc
+++ b/quiche/quic/core/frames/quic_frame.cc
@@ -4,6 +4,11 @@
 
 #include "quiche/quic/core/frames/quic_frame.h"
 
+#include <ostream>
+#include <sstream>
+#include <string>
+#include <utility>
+
 #include "quiche/quic/core/frames/quic_new_connection_id_frame.h"
 #include "quiche/quic/core/frames/quic_reset_stream_at_frame.h"
 #include "quiche/quic/core/frames/quic_retire_connection_id_frame.h"
diff --git a/quiche/quic/core/frames/quic_frames_test.cc b/quiche/quic/core/frames/quic_frames_test.cc
index d585c68..e41ff7a 100644
--- a/quiche/quic/core/frames/quic_frames_test.cc
+++ b/quiche/quic/core/frames/quic_frames_test.cc
@@ -2,6 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <sstream>
+#include <vector>
+
 #include "quiche/quic/core/frames/quic_ack_frame.h"
 #include "quiche/quic/core/frames/quic_blocked_frame.h"
 #include "quiche/quic/core/frames/quic_connection_close_frame.h"
diff --git a/quiche/quic/core/frames/quic_goaway_frame.cc b/quiche/quic/core/frames/quic_goaway_frame.cc
index 19447e5..880fe95 100644
--- a/quiche/quic/core/frames/quic_goaway_frame.cc
+++ b/quiche/quic/core/frames/quic_goaway_frame.cc
@@ -4,6 +4,7 @@
 
 #include "quiche/quic/core/frames/quic_goaway_frame.h"
 
+#include <ostream>
 #include <string>
 
 namespace quic {
diff --git a/quiche/quic/core/frames/quic_handshake_done_frame.cc b/quiche/quic/core/frames/quic_handshake_done_frame.cc
index e8a7110..2cdd5b7 100644
--- a/quiche/quic/core/frames/quic_handshake_done_frame.cc
+++ b/quiche/quic/core/frames/quic_handshake_done_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_handshake_done_frame.h"
 
+#include <ostream>
+
 namespace quic {
 
 QuicHandshakeDoneFrame::QuicHandshakeDoneFrame()
diff --git a/quiche/quic/core/frames/quic_max_streams_frame.cc b/quiche/quic/core/frames/quic_max_streams_frame.cc
index 594224b..2cff8df 100644
--- a/quiche/quic/core/frames/quic_max_streams_frame.cc
+++ b/quiche/quic/core/frames/quic_max_streams_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_max_streams_frame.h"
 
+#include <ostream>
+
 namespace quic {
 
 QuicMaxStreamsFrame::QuicMaxStreamsFrame()
diff --git a/quiche/quic/core/frames/quic_message_frame.cc b/quiche/quic/core/frames/quic_message_frame.cc
index 935d7ce..6d7cdf9 100644
--- a/quiche/quic/core/frames/quic_message_frame.cc
+++ b/quiche/quic/core/frames/quic_message_frame.cc
@@ -4,6 +4,9 @@
 
 #include "quiche/quic/core/frames/quic_message_frame.h"
 
+#include <ostream>
+#include <utility>
+
 #include "quiche/quic/core/quic_constants.h"
 #include "quiche/quic/platform/api/quic_logging.h"
 #include "quiche/common/platform/api/quiche_mem_slice.h"
diff --git a/quiche/quic/core/frames/quic_new_connection_id_frame.cc b/quiche/quic/core/frames/quic_new_connection_id_frame.cc
index 2d37460..c3d36f7 100644
--- a/quiche/quic/core/frames/quic_new_connection_id_frame.cc
+++ b/quiche/quic/core/frames/quic_new_connection_id_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_new_connection_id_frame.h"
 
+#include <ostream>
+
 namespace quic {
 
 QuicNewConnectionIdFrame::QuicNewConnectionIdFrame(
diff --git a/quiche/quic/core/frames/quic_new_token_frame.cc b/quiche/quic/core/frames/quic_new_token_frame.cc
index 7b5190d..1fb1cd0 100644
--- a/quiche/quic/core/frames/quic_new_token_frame.cc
+++ b/quiche/quic/core/frames/quic_new_token_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_new_token_frame.h"
 
+#include <ostream>
+
 #include "absl/strings/escaping.h"
 #include "quiche/quic/platform/api/quic_logging.h"
 
diff --git a/quiche/quic/core/frames/quic_padding_frame.cc b/quiche/quic/core/frames/quic_padding_frame.cc
index 2170835..9c83849 100644
--- a/quiche/quic/core/frames/quic_padding_frame.cc
+++ b/quiche/quic/core/frames/quic_padding_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_padding_frame.h"
 
+#include <ostream>
+
 namespace quic {
 
 std::ostream& operator<<(std::ostream& os,
diff --git a/quiche/quic/core/frames/quic_path_challenge_frame.cc b/quiche/quic/core/frames/quic_path_challenge_frame.cc
index 5f4f57b..28d3b2b 100644
--- a/quiche/quic/core/frames/quic_path_challenge_frame.cc
+++ b/quiche/quic/core/frames/quic_path_challenge_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_path_challenge_frame.h"
 
+#include <ostream>
+
 #include "absl/strings/escaping.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
 
diff --git a/quiche/quic/core/frames/quic_path_response_frame.cc b/quiche/quic/core/frames/quic_path_response_frame.cc
index 0f7a412..5f280c3 100644
--- a/quiche/quic/core/frames/quic_path_response_frame.cc
+++ b/quiche/quic/core/frames/quic_path_response_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_path_response_frame.h"
 
+#include <ostream>
+
 #include "absl/strings/escaping.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
 
diff --git a/quiche/quic/core/frames/quic_ping_frame.cc b/quiche/quic/core/frames/quic_ping_frame.cc
index c28e671..815cb90 100644
--- a/quiche/quic/core/frames/quic_ping_frame.cc
+++ b/quiche/quic/core/frames/quic_ping_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_ping_frame.h"
 
+#include <ostream>
+
 namespace quic {
 
 QuicPingFrame::QuicPingFrame() : QuicInlinedFrame(PING_FRAME) {}
diff --git a/quiche/quic/core/frames/quic_retire_connection_id_frame.cc b/quiche/quic/core/frames/quic_retire_connection_id_frame.cc
index 93e7e49..cec3ee9 100644
--- a/quiche/quic/core/frames/quic_retire_connection_id_frame.cc
+++ b/quiche/quic/core/frames/quic_retire_connection_id_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_retire_connection_id_frame.h"
 
+#include <ostream>
+
 namespace quic {
 
 QuicRetireConnectionIdFrame::QuicRetireConnectionIdFrame(
diff --git a/quiche/quic/core/frames/quic_rst_stream_frame.cc b/quiche/quic/core/frames/quic_rst_stream_frame.cc
index 124fad6..59befc1 100644
--- a/quiche/quic/core/frames/quic_rst_stream_frame.cc
+++ b/quiche/quic/core/frames/quic_rst_stream_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_rst_stream_frame.h"
 
+#include <ostream>
+
 #include "quiche/quic/core/quic_error_codes.h"
 
 namespace quic {
diff --git a/quiche/quic/core/frames/quic_stop_sending_frame.cc b/quiche/quic/core/frames/quic_stop_sending_frame.cc
index 057e60f..118643a 100644
--- a/quiche/quic/core/frames/quic_stop_sending_frame.cc
+++ b/quiche/quic/core/frames/quic_stop_sending_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_stop_sending_frame.h"
 
+#include <ostream>
+
 #include "quiche/quic/core/quic_error_codes.h"
 
 namespace quic {
diff --git a/quiche/quic/core/frames/quic_stop_waiting_frame.cc b/quiche/quic/core/frames/quic_stop_waiting_frame.cc
index 32941aa..345c68b 100644
--- a/quiche/quic/core/frames/quic_stop_waiting_frame.cc
+++ b/quiche/quic/core/frames/quic_stop_waiting_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_stop_waiting_frame.h"
 
+#include <ostream>
+
 #include "quiche/quic/core/quic_constants.h"
 
 namespace quic {
diff --git a/quiche/quic/core/frames/quic_stream_frame.cc b/quiche/quic/core/frames/quic_stream_frame.cc
index c6988a0..b25558b 100644
--- a/quiche/quic/core/frames/quic_stream_frame.cc
+++ b/quiche/quic/core/frames/quic_stream_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_stream_frame.h"
 
+#include <ostream>
+
 #include "absl/strings/string_view.h"
 #include "quiche/quic/platform/api/quic_logging.h"
 
diff --git a/quiche/quic/core/frames/quic_streams_blocked_frame.cc b/quiche/quic/core/frames/quic_streams_blocked_frame.cc
index 6d6a6d2..96cedf8 100644
--- a/quiche/quic/core/frames/quic_streams_blocked_frame.cc
+++ b/quiche/quic/core/frames/quic_streams_blocked_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_streams_blocked_frame.h"
 
+#include <ostream>
+
 namespace quic {
 
 QuicStreamsBlockedFrame::QuicStreamsBlockedFrame()
diff --git a/quiche/quic/core/frames/quic_window_update_frame.cc b/quiche/quic/core/frames/quic_window_update_frame.cc
index 87795c3..d480dd6 100644
--- a/quiche/quic/core/frames/quic_window_update_frame.cc
+++ b/quiche/quic/core/frames/quic_window_update_frame.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/frames/quic_window_update_frame.h"
 
+#include <ostream>
+
 #include "quiche/quic/core/quic_types.h"
 
 namespace quic {
diff --git a/quiche/quic/core/http/end_to_end_test.cc b/quiche/quic/core/http/end_to_end_test.cc
index 09b7645..f3388eb 100644
--- a/quiche/quic/core/http/end_to_end_test.cc
+++ b/quiche/quic/core/http/end_to_end_test.cc
@@ -2,10 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <algorithm>
+#include <array>
 #include <cstddef>
 #include <cstdint>
 #include <list>
 #include <memory>
+#include <optional>
 #include <ostream>
 #include <string>
 #include <utility>
diff --git a/quiche/quic/core/http/http_constants.cc b/quiche/quic/core/http/http_constants.cc
index 4bd8d62..7dbb585 100644
--- a/quiche/quic/core/http/http_constants.cc
+++ b/quiche/quic/core/http/http_constants.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/http/http_constants.h"
 
+#include <string>
+
 #include "absl/strings/str_cat.h"
 
 namespace quic {
diff --git a/quiche/quic/core/http/http_decoder.cc b/quiche/quic/core/http/http_decoder.cc
index 1503b5b..1df1416 100644
--- a/quiche/quic/core/http/http_decoder.cc
+++ b/quiche/quic/core/http/http_decoder.cc
@@ -4,7 +4,10 @@
 
 #include "quiche/quic/core/http/http_decoder.h"
 
+#include <algorithm>
 #include <cstdint>
+#include <string>
+#include <utility>
 
 #include "absl/base/attributes.h"
 #include "absl/strings/string_view.h"
diff --git a/quiche/quic/core/http/http_encoder.cc b/quiche/quic/core/http/http_encoder.cc
index de40d4a..8ea61b9 100644
--- a/quiche/quic/core/http/http_encoder.cc
+++ b/quiche/quic/core/http/http_encoder.cc
@@ -4,8 +4,12 @@
 
 #include "quiche/quic/core/http/http_encoder.h"
 
+#include <algorithm>
 #include <cstdint>
 #include <memory>
+#include <string>
+#include <utility>
+#include <vector>
 
 #include "quiche/quic/core/crypto/quic_random.h"
 #include "quiche/quic/core/quic_data_writer.h"
diff --git a/quiche/quic/core/http/http_encoder_test.cc b/quiche/quic/core/http/http_encoder_test.cc
index 6487992..e252fc5 100644
--- a/quiche/quic/core/http/http_encoder_test.cc
+++ b/quiche/quic/core/http/http_encoder_test.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/http/http_encoder.h"
 
+#include <string>
+
 #include "absl/base/macros.h"
 #include "quiche/quic/platform/api/quic_flags.h"
 #include "quiche/quic/platform/api/quic_test.h"
diff --git a/quiche/quic/core/http/metadata_decoder_test.cc b/quiche/quic/core/http/metadata_decoder_test.cc
index 791a84d..7f913db 100644
--- a/quiche/quic/core/http/metadata_decoder_test.cc
+++ b/quiche/quic/core/http/metadata_decoder_test.cc
@@ -4,6 +4,8 @@
 
 #include "quiche/quic/core/http/metadata_decoder.h"
 
+#include <string>
+
 #include "absl/strings/escaping.h"
 #include "quiche/quic/core/qpack/qpack_encoder.h"
 #include "quiche/quic/platform/api/quic_test.h"
diff --git a/quiche/quic/core/http/quic_headers_stream.cc b/quiche/quic/core/http/quic_headers_stream.cc
index 9a53e66..89a4a98 100644
--- a/quiche/quic/core/http/quic_headers_stream.cc
+++ b/quiche/quic/core/http/quic_headers_stream.cc
@@ -4,6 +4,9 @@
 
 #include "quiche/quic/core/http/quic_headers_stream.h"
 
+#include <algorithm>
+#include <utility>
+
 #include "absl/base/macros.h"
 #include "quiche/quic/core/http/quic_spdy_session.h"
 #include "quiche/quic/core/quic_utils.h"
diff --git a/quiche/quic/core/http/quic_headers_stream_test.cc b/quiche/quic/core/http/quic_headers_stream_test.cc
index a086800..20bad67 100644
--- a/quiche/quic/core/http/quic_headers_stream_test.cc
+++ b/quiche/quic/core/http/quic_headers_stream_test.cc
@@ -5,6 +5,7 @@
 #include "quiche/quic/core/http/quic_headers_stream.h"
 
 #include <cstdint>
+#include <memory>
 #include <ostream>
 #include <string>
 #include <tuple>
diff --git a/quiche/quic/core/http/quic_receive_control_stream_test.cc b/quiche/quic/core/http/quic_receive_control_stream_test.cc
index e335d82..79773c0 100644
--- a/quiche/quic/core/http/quic_receive_control_stream_test.cc
+++ b/quiche/quic/core/http/quic_receive_control_stream_test.cc
@@ -4,7 +4,9 @@
 
 #include "quiche/quic/core/http/quic_receive_control_stream.h"
 
+#include <ostream>
 #include <string>
+#include <vector>
 
 #include "absl/memory/memory.h"
 #include "absl/strings/escaping.h"
diff --git a/quiche/quic/core/http/quic_send_control_stream.cc b/quiche/quic/core/http/quic_send_control_stream.cc
index e9b06ed..9c328aa 100644
--- a/quiche/quic/core/http/quic_send_control_stream.cc
+++ b/quiche/quic/core/http/quic_send_control_stream.cc
@@ -6,6 +6,7 @@
 
 #include <cstdint>
 #include <memory>
+#include <string>
 
 #include "absl/base/macros.h"
 #include "absl/strings/string_view.h"
diff --git a/quiche/quic/core/http/quic_send_control_stream_test.cc b/quiche/quic/core/http/quic_send_control_stream_test.cc
index 922daa1..02b7cc2 100644
--- a/quiche/quic/core/http/quic_send_control_stream_test.cc
+++ b/quiche/quic/core/http/quic_send_control_stream_test.cc
@@ -4,8 +4,12 @@
 
 #include "quiche/quic/core/http/quic_send_control_stream.h"
 
+#include <memory>
+#include <optional>
+#include <ostream>
 #include <string>
 #include <utility>
+#include <vector>
 
 #include "absl/strings/escaping.h"
 #include "absl/strings/string_view.h"
diff --git a/quiche/quic/core/http/quic_server_session_base.cc b/quiche/quic/core/http/quic_server_session_base.cc
index 4aca5b5..4d22525 100644
--- a/quiche/quic/core/http/quic_server_session_base.cc
+++ b/quiche/quic/core/http/quic_server_session_base.cc
@@ -4,7 +4,13 @@
 
 #include "quiche/quic/core/http/quic_server_session_base.h"
 
+#include <algorithm>
+#include <cstdlib>
+#include <limits>
+#include <memory>
+#include <optional>
 #include <string>
+#include <utility>
 
 #include "quiche/quic/core/proto/cached_network_parameters_proto.h"
 #include "quiche/quic/core/quic_connection.h"
diff --git a/quiche/quic/core/http/quic_server_session_base_test.cc b/quiche/quic/core/http/quic_server_session_base_test.cc
index a811a4c..ff3da67 100644
--- a/quiche/quic/core/http/quic_server_session_base_test.cc
+++ b/quiche/quic/core/http/quic_server_session_base_test.cc
@@ -8,6 +8,7 @@
 #include <memory>
 #include <string>
 #include <utility>
+#include <vector>
 
 #include "absl/memory/memory.h"
 #include "quiche/quic/core/crypto/null_encrypter.h"
diff --git a/quiche/quic/core/http/quic_spdy_client_session.cc b/quiche/quic/core/http/quic_spdy_client_session.cc
index 414e433..9f01930 100644
--- a/quiche/quic/core/http/quic_spdy_client_session.cc
+++ b/quiche/quic/core/http/quic_spdy_client_session.cc
@@ -4,6 +4,7 @@
 
 #include "quiche/quic/core/http/quic_spdy_client_session.h"
 
+#include <memory>
 #include <string>
 #include <utility>