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);
}