Migrates all users of spdy::Http2HeaderBlock to quiche::HttpHeaderBlock.
The former is merely an alias for the latter, so this is not a functional change.
Tested:
TAP train for global presubmit queue
http://test/OCL:651173280:BASE:651151888:1720677733868:282a3ce7
Protected by refactoring, no functional change, not protected.
PiperOrigin-RevId: 651416215
diff --git a/quiche/http2/adapter/nghttp2_adapter_test.cc b/quiche/http2/adapter/nghttp2_adapter_test.cc
index 99f71b9..f7741de 100644
--- a/quiche/http2/adapter/nghttp2_adapter_test.cc
+++ b/quiche/http2/adapter/nghttp2_adapter_test.cc
@@ -2610,7 +2610,7 @@
TestVisitor visitor;
auto adapter = NgHttp2Adapter::CreateClientAdapter(visitor);
- const spdy::Http2HeaderBlock block = ToHeaderBlock(ToHeaders(
+ const quiche::HttpHeaderBlock block = ToHeaderBlock(ToHeaders(
{{"query-cost", "is too darn high"}, {"secret-sauce", "hollandaise"}}));
if (GetParam()) {
visitor.AppendMetadataForStream(1, block);
@@ -2644,7 +2644,7 @@
auto adapter = NgHttp2Adapter::CreateClientAdapter(visitor);
const auto kLargeValue = std::string(63 * 1024, 'a');
- const spdy::Http2HeaderBlock block =
+ const quiche::HttpHeaderBlock block =
ToHeaderBlock(ToHeaders({{"large-value", kLargeValue}}));
if (GetParam()) {
visitor.AppendMetadataForStream(1, block);
@@ -2683,7 +2683,7 @@
TestVisitor visitor;
auto adapter = NgHttp2Adapter::CreateClientAdapter(visitor);
- const spdy::Http2HeaderBlock block = ToHeaderBlock(ToHeaders(
+ const quiche::HttpHeaderBlock block = ToHeaderBlock(ToHeaders(
{{"query-cost", "is too darn high"}, {"secret-sauce", "hollandaise"}}));
if (GetParam()) {
visitor.AppendMetadataForStream(0, block);
@@ -2726,7 +2726,7 @@
const int32_t stream_id =
adapter->SubmitRequest(headers, nullptr, true, nullptr);
- const spdy::Http2HeaderBlock block = ToHeaderBlock(ToHeaders(
+ const quiche::HttpHeaderBlock block = ToHeaderBlock(ToHeaders(
{{"query-cost", "is too darn high"}, {"secret-sauce", "hollandaise"}}));
if (GetParam()) {
visitor.AppendMetadataForStream(stream_id, block);
@@ -2793,7 +2793,7 @@
const int32_t stream_id =
adapter->SubmitRequest(headers, nullptr, true, nullptr);
- const spdy::Http2HeaderBlock block = ToHeaderBlock(ToHeaders(
+ const quiche::HttpHeaderBlock block = ToHeaderBlock(ToHeaders(
{{"query-cost", "is too darn high"}, {"secret-sauce", "hollandaise"}}));
if (GetParam()) {
visitor.AppendMetadataForStream(stream_id, block);
@@ -2851,7 +2851,7 @@
const int32_t stream_id =
adapter->SubmitRequest(headers, nullptr, true, nullptr);
- const spdy::Http2HeaderBlock block = ToHeaderBlock(
+ const quiche::HttpHeaderBlock block = ToHeaderBlock(
ToHeaders({{"more-than-one-frame", std::string(20000, 'a')}}));
if (GetParam()) {
visitor.AppendMetadataForStream(stream_id, block);
diff --git a/quiche/http2/adapter/nghttp2_util.cc b/quiche/http2/adapter/nghttp2_util.cc
index a59f69d..615ad89 100644
--- a/quiche/http2/adapter/nghttp2_util.cc
+++ b/quiche/http2/adapter/nghttp2_util.cc
@@ -91,7 +91,7 @@
}
std::vector<nghttp2_nv> GetResponseNghttp2Nvs(
- const spdy::Http2HeaderBlock& headers, absl::string_view response_code) {
+ const quiche::HttpHeaderBlock& headers, absl::string_view response_code) {
// Allocate enough for all headers and also the :status pseudoheader.
const int num_headers = headers.size();
std::vector<nghttp2_nv> nghttp2_nvs;
diff --git a/quiche/http2/adapter/nghttp2_util.h b/quiche/http2/adapter/nghttp2_util.h
index 423ad1b..5e08e8c 100644
--- a/quiche/http2/adapter/nghttp2_util.h
+++ b/quiche/http2/adapter/nghttp2_util.h
@@ -12,7 +12,7 @@
#include "quiche/http2/adapter/http2_protocol.h"
#include "quiche/http2/adapter/http2_visitor_interface.h"
#include "quiche/http2/adapter/nghttp2.h"
-#include "quiche/spdy/core/http2_header_block.h"
+#include "quiche/common/http/http_header_block.h"
namespace http2 {
namespace adapter {
@@ -49,7 +49,7 @@
// the :status pseudoheader first based on the given |response_code|. The
// |response_code| is passed in separately from |headers| for lifetime reasons.
std::vector<nghttp2_nv> GetResponseNghttp2Nvs(
- const spdy::Http2HeaderBlock& headers, absl::string_view response_code);
+ const quiche::HttpHeaderBlock& headers, absl::string_view response_code);
// Returns the HTTP/2 error code corresponding to the raw wire value, as defined
// in RFC 7540 Section 7. Unrecognized error codes are treated as INTERNAL_ERROR
diff --git a/quiche/http2/adapter/oghttp2_adapter_metadata_test.cc b/quiche/http2/adapter/oghttp2_adapter_metadata_test.cc
index a90b0da..db399f7 100644
--- a/quiche/http2/adapter/oghttp2_adapter_metadata_test.cc
+++ b/quiche/http2/adapter/oghttp2_adapter_metadata_test.cc
@@ -12,9 +12,9 @@
#include "quiche/http2/adapter/oghttp2_util.h"
#include "quiche/http2/adapter/test_frame_sequence.h"
#include "quiche/http2/adapter/test_utils.h"
+#include "quiche/common/http/http_header_block.h"
#include "quiche/common/platform/api/quiche_expect_bug.h"
#include "quiche/common/platform/api/quiche_test.h"
-#include "quiche/spdy/core/http2_header_block.h"
namespace http2 {
namespace adapter {
@@ -392,7 +392,7 @@
EXPECT_FALSE(adapter->want_write());
EXPECT_EQ(0, adapter->GetSendWindowSize());
- const spdy::Http2HeaderBlock block = ToHeaderBlock(ToHeaders(
+ const quiche::HttpHeaderBlock block = ToHeaderBlock(ToHeaders(
{{"query-cost", "is too darn high"}, {"secret-sauce", "hollandaise"}}));
if (GetParam()) {
visitor.AppendMetadataForStream(stream_id1, block);
@@ -477,7 +477,7 @@
options.perspective = Perspective::kServer;
auto adapter = OgHttp2Adapter::Create(visitor, options);
- const spdy::Http2HeaderBlock block = ToHeaderBlock(ToHeaders(
+ const quiche::HttpHeaderBlock block = ToHeaderBlock(ToHeaders(
{{"query-cost", "is too darn high"}, {"secret-sauce", "hollandaise"}}));
if (GetParam()) {
visitor.AppendMetadataForStream(1, block);
@@ -512,7 +512,7 @@
auto adapter = OgHttp2Adapter::Create(visitor, options);
const auto kLargeValue = std::string(63 * 1024, 'a');
- const spdy::Http2HeaderBlock block =
+ const quiche::HttpHeaderBlock block =
ToHeaderBlock(ToHeaders({{"large-value", kLargeValue}}));
if (GetParam()) {
visitor.AppendMetadataForStream(1, block);
@@ -553,7 +553,7 @@
options.perspective = Perspective::kServer;
auto adapter = OgHttp2Adapter::Create(visitor, options);
- const spdy::Http2HeaderBlock block = ToHeaderBlock(ToHeaders(
+ const quiche::HttpHeaderBlock block = ToHeaderBlock(ToHeaders(
{{"query-cost", "is too darn high"}, {"secret-sauce", "hollandaise"}}));
if (GetParam()) {
visitor.AppendMetadataForStream(0, block);
@@ -639,7 +639,7 @@
visitor.Clear();
EXPECT_FALSE(adapter->want_write());
- const spdy::Http2HeaderBlock block =
+ const quiche::HttpHeaderBlock block =
ToHeaderBlock(ToHeaders({{"key", "wild value!"}}));
if (GetParam()) {
visitor.AppendMetadataForStream(1, block);
diff --git a/quiche/http2/adapter/oghttp2_adapter_test.cc b/quiche/http2/adapter/oghttp2_adapter_test.cc
index 5b02ba7..70e3192 100644
--- a/quiche/http2/adapter/oghttp2_adapter_test.cc
+++ b/quiche/http2/adapter/oghttp2_adapter_test.cc
@@ -13,9 +13,9 @@
#include "quiche/http2/adapter/oghttp2_util.h"
#include "quiche/http2/adapter/test_frame_sequence.h"
#include "quiche/http2/adapter/test_utils.h"
+#include "quiche/common/http/http_header_block.h"
#include "quiche/common/platform/api/quiche_expect_bug.h"
#include "quiche/common/platform/api/quiche_test.h"
-#include "quiche/spdy/core/http2_header_block.h"
namespace http2 {
namespace adapter {
diff --git a/quiche/http2/adapter/oghttp2_session.cc b/quiche/http2/adapter/oghttp2_session.cc
index cc9d3c0..cc80baf 100644
--- a/quiche/http2/adapter/oghttp2_session.cc
+++ b/quiche/http2/adapter/oghttp2_session.cc
@@ -1058,7 +1058,7 @@
} else {
// Save trailers so they can be written once data is done.
state.trailers =
- std::make_unique<spdy::Http2HeaderBlock>(ToHeaderBlock(trailers));
+ std::make_unique<quiche::HttpHeaderBlock>(ToHeaderBlock(trailers));
trailers_ready_.insert(stream_id);
}
return 0;
@@ -1794,7 +1794,7 @@
}
void OgHttp2Session::SendHeaders(Http2StreamId stream_id,
- spdy::Http2HeaderBlock headers,
+ quiche::HttpHeaderBlock headers,
bool end_stream) {
auto frame =
std::make_unique<spdy::SpdyHeadersIR>(stream_id, std::move(headers));
@@ -1803,7 +1803,7 @@
}
void OgHttp2Session::SendTrailers(Http2StreamId stream_id,
- spdy::Http2HeaderBlock trailers) {
+ quiche::HttpHeaderBlock trailers) {
auto frame =
std::make_unique<spdy::SpdyHeadersIR>(stream_id, std::move(trailers));
frame->set_fin(true);
@@ -1853,7 +1853,7 @@
}
void OgHttp2Session::StartRequest(Http2StreamId stream_id,
- spdy::Http2HeaderBlock headers,
+ quiche::HttpHeaderBlock headers,
std::unique_ptr<DataFrameSource> data_source,
void* user_data, bool end_stream) {
if (received_goaway_) {
diff --git a/quiche/http2/adapter/oghttp2_session.h b/quiche/http2/adapter/oghttp2_session.h
index 5b1357e..2bd4c5f 100644
--- a/quiche/http2/adapter/oghttp2_session.h
+++ b/quiche/http2/adapter/oghttp2_session.h
@@ -23,6 +23,7 @@
#include "quiche/http2/core/http2_trace_logging.h"
#include "quiche/http2/core/no_op_headers_handler.h"
#include "quiche/http2/core/priority_write_scheduler.h"
+#include "quiche/common/http/http_header_block.h"
#include "quiche/common/platform/api/quiche_bug_tracker.h"
#include "quiche/common/platform/api/quiche_export.h"
#include "quiche/common/platform/api/quiche_flags.h"
@@ -30,7 +31,6 @@
#include "quiche/common/quiche_circular_deque.h"
#include "quiche/common/quiche_linked_hash_map.h"
#include "quiche/spdy/core/http2_frame_decoder_adapter.h"
-#include "quiche/spdy/core/http2_header_block.h"
#include "quiche/spdy/core/spdy_framer.h"
#include "quiche/spdy/core/spdy_protocol.h"
@@ -245,7 +245,7 @@
WindowManager window_manager;
std::unique_ptr<DataFrameSource> outbound_body;
- std::unique_ptr<spdy::Http2HeaderBlock> trailers;
+ std::unique_ptr<quiche::HttpHeaderBlock> trailers;
void* user_data = nullptr;
int32_t send_window;
std::optional<HeaderType> received_header_type;
@@ -261,7 +261,7 @@
using StreamStateMap = absl::flat_hash_map<Http2StreamId, StreamState>;
struct QUICHE_EXPORT PendingStreamState {
- spdy::Http2HeaderBlock headers;
+ quiche::HttpHeaderBlock headers;
std::unique_ptr<DataFrameSource> data_source;
void* user_data = nullptr;
bool end_stream;
@@ -396,10 +396,10 @@
std::unique_ptr<MetadataSource> source);
void SerializeMetadata(Http2StreamId stream_id);
- void SendHeaders(Http2StreamId stream_id, spdy::Http2HeaderBlock headers,
+ void SendHeaders(Http2StreamId stream_id, quiche::HttpHeaderBlock headers,
bool end_stream);
- void SendTrailers(Http2StreamId stream_id, spdy::Http2HeaderBlock trailers);
+ void SendTrailers(Http2StreamId stream_id, quiche::HttpHeaderBlock trailers);
// Encapsulates the RST_STREAM NO_ERROR behavior described in RFC 7540
// Section 8.1.
@@ -414,7 +414,7 @@
// Creates a stream for `stream_id`, stores the `data_source` and `user_data`
// in the stream state, and sends the `headers`.
- void StartRequest(Http2StreamId stream_id, spdy::Http2HeaderBlock headers,
+ void StartRequest(Http2StreamId stream_id, quiche::HttpHeaderBlock headers,
std::unique_ptr<DataFrameSource> data_source,
void* user_data, bool end_stream);
diff --git a/quiche/http2/adapter/oghttp2_util.cc b/quiche/http2/adapter/oghttp2_util.cc
index 26a3fb3..df0aa8d 100644
--- a/quiche/http2/adapter/oghttp2_util.cc
+++ b/quiche/http2/adapter/oghttp2_util.cc
@@ -3,8 +3,8 @@
namespace http2 {
namespace adapter {
-spdy::Http2HeaderBlock ToHeaderBlock(absl::Span<const Header> headers) {
- spdy::Http2HeaderBlock block;
+quiche::HttpHeaderBlock ToHeaderBlock(absl::Span<const Header> headers) {
+ quiche::HttpHeaderBlock block;
for (const Header& header : headers) {
absl::string_view name = GetStringView(header.first).first;
absl::string_view value = GetStringView(header.second).first;
diff --git a/quiche/http2/adapter/oghttp2_util.h b/quiche/http2/adapter/oghttp2_util.h
index 0aba100..25ec337 100644
--- a/quiche/http2/adapter/oghttp2_util.h
+++ b/quiche/http2/adapter/oghttp2_util.h
@@ -3,13 +3,13 @@
#include "absl/types/span.h"
#include "quiche/http2/adapter/http2_protocol.h"
+#include "quiche/common/http/http_header_block.h"
#include "quiche/common/platform/api/quiche_export.h"
-#include "quiche/spdy/core/http2_header_block.h"
namespace http2 {
namespace adapter {
-QUICHE_EXPORT spdy::Http2HeaderBlock ToHeaderBlock(
+QUICHE_EXPORT quiche::HttpHeaderBlock ToHeaderBlock(
absl::Span<const Header> headers);
} // namespace adapter
diff --git a/quiche/http2/adapter/oghttp2_util_test.cc b/quiche/http2/adapter/oghttp2_util_test.cc
index d1a4177..7e747c0 100644
--- a/quiche/http2/adapter/oghttp2_util_test.cc
+++ b/quiche/http2/adapter/oghttp2_util_test.cc
@@ -15,7 +15,7 @@
using HeaderPair = std::pair<absl::string_view, absl::string_view>;
TEST(ToHeaderBlock, EmptySpan) {
- spdy::Http2HeaderBlock block = ToHeaderBlock({});
+ quiche::HttpHeaderBlock block = ToHeaderBlock({});
EXPECT_TRUE(block.empty());
}
@@ -26,7 +26,7 @@
{":scheme", "http"},
{"accept", "text/plain, text/html"}};
const std::vector<Header> headers = ToHeaders(pairs);
- spdy::Http2HeaderBlock block = ToHeaderBlock(headers);
+ quiche::HttpHeaderBlock block = ToHeaderBlock(headers);
EXPECT_THAT(block, testing::ElementsAreArray(pairs));
}
@@ -36,7 +36,7 @@
{"content-length", "1023"},
{"x-extra-info", "humblest apologies"}};
const std::vector<Header> headers = ToHeaders(pairs);
- spdy::Http2HeaderBlock block = ToHeaderBlock(headers);
+ quiche::HttpHeaderBlock block = ToHeaderBlock(headers);
EXPECT_THAT(block, testing::ElementsAreArray(pairs));
}
@@ -54,7 +54,7 @@
{"cookie", "chocolate_chips=yes; raisins=no"},
{"accept", "text/plain, text/html"}};
const std::vector<Header> headers = ToHeaders(pairs);
- spdy::Http2HeaderBlock block = ToHeaderBlock(headers);
+ quiche::HttpHeaderBlock block = ToHeaderBlock(headers);
EXPECT_THAT(block, testing::ElementsAreArray(expected));
}
@@ -73,7 +73,7 @@
9)},
{"set-cookie", absl::string_view("chocolate_chips=yes\0raisins=no", 30)}};
const std::vector<Header> headers = ToHeaders(pairs);
- spdy::Http2HeaderBlock block = ToHeaderBlock(headers);
+ quiche::HttpHeaderBlock block = ToHeaderBlock(headers);
EXPECT_THAT(block, testing::ElementsAreArray(expected));
}
diff --git a/quiche/http2/adapter/test_frame_sequence.cc b/quiche/http2/adapter/test_frame_sequence.cc
index 833d17a..a099082 100644
--- a/quiche/http2/adapter/test_frame_sequence.cc
+++ b/quiche/http2/adapter/test_frame_sequence.cc
@@ -107,7 +107,7 @@
}
TestFrameSequence& TestFrameSequence::Headers(Http2StreamId stream_id,
- spdy::Http2HeaderBlock block,
+ quiche::HttpHeaderBlock block,
bool fin, bool add_continuation) {
if (add_continuation) {
// The normal intermediate representations don't allow you to represent a
diff --git a/quiche/http2/adapter/test_frame_sequence.h b/quiche/http2/adapter/test_frame_sequence.h
index 93c5536..59a0d7f 100644
--- a/quiche/http2/adapter/test_frame_sequence.h
+++ b/quiche/http2/adapter/test_frame_sequence.h
@@ -7,8 +7,8 @@
#include <vector>
#include "quiche/http2/adapter/http2_protocol.h"
+#include "quiche/common/http/http_header_block.h"
#include "quiche/common/platform/api/quiche_export.h"
-#include "quiche/spdy/core/http2_header_block.h"
#include "quiche/spdy/core/spdy_protocol.h"
namespace http2 {
@@ -48,7 +48,7 @@
absl::Span<const std::pair<absl::string_view, absl::string_view>> headers,
bool fin = false, bool add_continuation = false);
TestFrameSequence& Headers(Http2StreamId stream_id,
- spdy::Http2HeaderBlock block, bool fin = false,
+ quiche::HttpHeaderBlock block, bool fin = false,
bool add_continuation = false);
TestFrameSequence& Headers(Http2StreamId stream_id,
absl::Span<const Header> headers, bool fin = false,
diff --git a/quiche/http2/adapter/test_utils.cc b/quiche/http2/adapter/test_utils.cc
index b791443..40e3970 100644
--- a/quiche/http2/adapter/test_utils.cc
+++ b/quiche/http2/adapter/test_utils.cc
@@ -18,7 +18,7 @@
using ConnectionError = Http2VisitorInterface::ConnectionError;
-std::string EncodeHeaders(const spdy::Http2HeaderBlock& entries) {
+std::string EncodeHeaders(const quiche::HttpHeaderBlock& entries) {
spdy::HpackEncoder encoder;
encoder.DisableCompression();
return encoder.EncodeHeaderBlock(entries);
@@ -120,7 +120,7 @@
}
void TestVisitor::AppendMetadataForStream(
- Http2StreamId stream_id, const spdy::Http2HeaderBlock& payload) {
+ Http2StreamId stream_id, const quiche::HttpHeaderBlock& payload) {
outbound_metadata_map_.insert({stream_id, EncodeHeaders(payload)});
}
@@ -143,7 +143,7 @@
return visitor_.SendDataFrame(stream_id_, frame_header, payload_length);
}
-TestMetadataSource::TestMetadataSource(const spdy::Http2HeaderBlock& entries)
+TestMetadataSource::TestMetadataSource(const quiche::HttpHeaderBlock& entries)
: encoded_entries_(EncodeHeaders(entries)) {
remaining_ = encoded_entries_;
}
diff --git a/quiche/http2/adapter/test_utils.h b/quiche/http2/adapter/test_utils.h
index e81fdd4..66eca87 100644
--- a/quiche/http2/adapter/test_utils.h
+++ b/quiche/http2/adapter/test_utils.h
@@ -11,9 +11,9 @@
#include "quiche/http2/adapter/data_source.h"
#include "quiche/http2/adapter/http2_protocol.h"
#include "quiche/http2/adapter/mock_http2_visitor.h"
+#include "quiche/common/http/http_header_block.h"
#include "quiche/common/platform/api/quiche_export.h"
#include "quiche/common/platform/api/quiche_test.h"
-#include "quiche/spdy/core/http2_header_block.h"
#include "quiche/spdy/core/spdy_protocol.h"
namespace http2 {
@@ -76,7 +76,7 @@
// Test methods to manipulate the metadata payload to send for a stream.
void AppendMetadataForStream(Http2StreamId stream_id,
- const spdy::Http2HeaderBlock& payload);
+ const quiche::HttpHeaderBlock& payload);
const std::string& data() { return data_; }
void Clear() { data_.clear(); }
@@ -122,7 +122,7 @@
class QUICHE_NO_EXPORT TestMetadataSource : public MetadataSource {
public:
- explicit TestMetadataSource(const spdy::Http2HeaderBlock& entries);
+ explicit TestMetadataSource(const quiche::HttpHeaderBlock& entries);
size_t NumFrames(size_t max_frame_size) const override {
// Round up to the next frame.
diff --git a/quiche/http2/adapter/test_utils_test.cc b/quiche/http2/adapter/test_utils_test.cc
index 8af0fd4..7ff2ede 100644
--- a/quiche/http2/adapter/test_utils_test.cc
+++ b/quiche/http2/adapter/test_utils_test.cc
@@ -46,7 +46,7 @@
EXPECT_THAT(framer.SerializeFrame(goaway),
EqualsFrames({{spdy::SpdyFrameType::GOAWAY, std::nullopt}}));
- spdy::Http2HeaderBlock block;
+ quiche::HttpHeaderBlock block;
block[":method"] = "GET";
block[":path"] = "/example";
block[":authority"] = "example.com";
@@ -64,7 +64,7 @@
spdy::SpdyRstStreamIR rst_stream{7, spdy::ERROR_CODE_REFUSED_STREAM};
spdy::SpdyGoAwayIR goaway{13, spdy::ERROR_CODE_ENHANCE_YOUR_CALM,
"Consider taking some deep breaths."};
- spdy::Http2HeaderBlock block;
+ quiche::HttpHeaderBlock block;
block[":method"] = "GET";
block[":path"] = "/example";
block[":authority"] = "example.com";