Passes header field names and values through HpackDecoderListener as `absl::string_view` rather than `const std::string&`. Protected by refactoring, no functional change expected, not protected. PiperOrigin-RevId: 596063445
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_listener.cc b/quiche/http2/hpack/decoder/hpack_decoder_listener.cc index 75a5969..4b4f34b 100644 --- a/quiche/http2/hpack/decoder/hpack_decoder_listener.cc +++ b/quiche/http2/hpack/decoder/hpack_decoder_listener.cc
@@ -13,8 +13,8 @@ HpackDecoderNoOpListener::~HpackDecoderNoOpListener() = default; void HpackDecoderNoOpListener::OnHeaderListStart() {} -void HpackDecoderNoOpListener::OnHeader(const std::string& /*name*/, - const std::string& /*value*/) {} +void HpackDecoderNoOpListener::OnHeader(absl::string_view /*name*/, + absl::string_view /*value*/) {} void HpackDecoderNoOpListener::OnHeaderListEnd() {} void HpackDecoderNoOpListener::OnHeaderErrorDetected( absl::string_view /*error_message*/) {}
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_listener.h b/quiche/http2/hpack/decoder/hpack_decoder_listener.h index 37564a4..e1888b6 100644 --- a/quiche/http2/hpack/decoder/hpack_decoder_listener.h +++ b/quiche/http2/hpack/decoder/hpack_decoder_listener.h
@@ -27,7 +27,7 @@ // Called for each header name-value pair that is decoded, in the order they // appear in the HPACK block. Multiple values for a given key will be emitted // as multiple calls to OnHeader. - virtual void OnHeader(const std::string& name, const std::string& value) = 0; + virtual void OnHeader(absl::string_view name, absl::string_view value) = 0; // OnHeaderListEnd is called after successfully decoding an HPACK block into // an HTTP/2 header list. Will only be called once per block, even if it @@ -47,7 +47,7 @@ ~HpackDecoderNoOpListener() override; void OnHeaderListStart() override; - void OnHeader(const std::string& name, const std::string& value) override; + void OnHeader(absl::string_view name, absl::string_view value) override; void OnHeaderListEnd() override; void OnHeaderErrorDetected(absl::string_view error_message) override;
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc b/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc index 419dd8d..a5354e7 100644 --- a/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc +++ b/quiche/http2/hpack/decoder/hpack_decoder_state_test.cc
@@ -36,8 +36,8 @@ class MockHpackDecoderListener : public HpackDecoderListener { public: MOCK_METHOD(void, OnHeaderListStart, (), (override)); - MOCK_METHOD(void, OnHeader, - (const std::string& name, const std::string& value), (override)); + MOCK_METHOD(void, OnHeader, (absl::string_view name, absl::string_view value), + (override)); MOCK_METHOD(void, OnHeaderListEnd, (), (override)); MOCK_METHOD(void, OnHeaderErrorDetected, (absl::string_view error_message), (override));
diff --git a/quiche/http2/hpack/decoder/hpack_decoder_test.cc b/quiche/http2/hpack/decoder/hpack_decoder_test.cc index 0840203..2b16d82 100644 --- a/quiche/http2/hpack/decoder/hpack_decoder_test.cc +++ b/quiche/http2/hpack/decoder/hpack_decoder_test.cc
@@ -62,8 +62,8 @@ class MockHpackDecoderListener : public HpackDecoderListener { public: MOCK_METHOD(void, OnHeaderListStart, (), (override)); - MOCK_METHOD(void, OnHeader, - (const std::string& name, const std::string& value), (override)); + MOCK_METHOD(void, OnHeader, (absl::string_view name, absl::string_view value), + (override)); MOCK_METHOD(void, OnHeaderListEnd, (), (override)); MOCK_METHOD(void, OnHeaderErrorDetected, (absl::string_view error_message), (override)); @@ -91,7 +91,7 @@ // Called for each header name-value pair that is decoded, in the order they // appear in the HPACK block. Multiple values for a given key will be emitted // as multiple calls to OnHeader. - void OnHeader(const std::string& name, const std::string& value) override { + void OnHeader(absl::string_view name, absl::string_view value) override { ASSERT_TRUE(saw_start_); ASSERT_FALSE(saw_end_); header_entries_.emplace_back(name, value);
diff --git a/quiche/spdy/core/hpack/hpack_decoder_adapter.cc b/quiche/spdy/core/hpack/hpack_decoder_adapter.cc index 0a9b5a4..6e7d2c5 100644 --- a/quiche/spdy/core/hpack/hpack_decoder_adapter.cc +++ b/quiche/spdy/core/hpack/hpack_decoder_adapter.cc
@@ -133,8 +133,8 @@ handler_->OnHeaderBlockStart(); } -void HpackDecoderAdapter::ListenerAdapter::OnHeader(const std::string& name, - const std::string& value) { +void HpackDecoderAdapter::ListenerAdapter::OnHeader(absl::string_view name, + absl::string_view value) { QUICHE_DVLOG(2) << "HpackDecoderAdapter::ListenerAdapter::OnHeader:\n name: " << name << "\n value: " << value; total_uncompressed_bytes_ += name.size() + value.size();
diff --git a/quiche/spdy/core/hpack/hpack_decoder_adapter.h b/quiche/spdy/core/hpack/hpack_decoder_adapter.h index ce0f251..ce3220e 100644 --- a/quiche/spdy/core/hpack/hpack_decoder_adapter.h +++ b/quiche/spdy/core/hpack/hpack_decoder_adapter.h
@@ -96,7 +96,7 @@ // From HpackDecoderListener void OnHeaderListStart() override; - void OnHeader(const std::string& name, const std::string& value) override; + void OnHeader(absl::string_view name, absl::string_view value) override; void OnHeaderListEnd() override; void OnHeaderErrorDetected(absl::string_view error_message) override;
diff --git a/quiche/spdy/core/http2_header_block_hpack_listener.h b/quiche/spdy/core/http2_header_block_hpack_listener.h index ec509c2..b5cc0ee 100644 --- a/quiche/spdy/core/http2_header_block_hpack_listener.h +++ b/quiche/spdy/core/http2_header_block_hpack_listener.h
@@ -24,7 +24,7 @@ hpack_error_ = false; } - void OnHeader(const std::string& name, const std::string& value) override { + void OnHeader(absl::string_view name, absl::string_view value) override { header_block_.AppendValueOrAddHeader(name, value); }