Replace QuicheTextUtils::Split with absl::StrSplit. PiperOrigin-RevId: 340335693 Change-Id: I8fef4c5d6890db768cf8682652d478912601a880
diff --git a/common/platform/api/quiche_text_utils.h b/common/platform/api/quiche_text_utils.h index 1a11c2a..44a8a05 100644 --- a/common/platform/api/quiche_text_utils.h +++ b/common/platform/api/quiche_text_utils.h
@@ -70,12 +70,6 @@ static bool IsAllDigits(absl::string_view data) { return quiche::QuicheTextUtilsImpl::IsAllDigits(data); } - - // Splits |data| into a vector of pieces delimited by |delim|. - static std::vector<absl::string_view> Split(absl::string_view data, - char delim) { - return quiche::QuicheTextUtilsImpl::Split(data, delim); - } }; } // namespace quiche
diff --git a/common/platform/api/quiche_text_utils_test.cc b/common/platform/api/quiche_text_utils_test.cc index f85f8b0..9d2c4fb 100644 --- a/common/platform/api/quiche_text_utils_test.cc +++ b/common/platform/api/quiche_text_utils_test.cc
@@ -93,19 +93,5 @@ EXPECT_TRUE(quiche::QuicheTextUtils::ContainsUpperCase("aBc")); } -TEST_F(QuicheTextUtilsTest, Split) { - EXPECT_EQ(std::vector<absl::string_view>({"a", "b", "c"}), - quiche::QuicheTextUtils::Split("a,b,c", ',')); - EXPECT_EQ(std::vector<absl::string_view>({"a", "b", "c"}), - quiche::QuicheTextUtils::Split("a:b:c", ':')); - EXPECT_EQ(std::vector<absl::string_view>({"a:b:c"}), - quiche::QuicheTextUtils::Split("a:b:c", ',')); - // Leading and trailing whitespace is preserved. - EXPECT_EQ(std::vector<absl::string_view>({"a", "b", "c"}), - quiche::QuicheTextUtils::Split("a,b,c", ',')); - EXPECT_EQ(std::vector<absl::string_view>({" a", "b ", " c "}), - quiche::QuicheTextUtils::Split(" a:b : c ", ':')); -} - } // namespace test } // namespace quiche
diff --git a/quic/core/http/quic_receive_control_stream.cc b/quic/core/http/quic_receive_control_stream.cc index 744e2ec..4f5f1cf 100644 --- a/quic/core/http/quic_receive_control_stream.cc +++ b/quic/core/http/quic_receive_control_stream.cc
@@ -7,6 +7,7 @@ #include <utility> #include "absl/strings/numbers.h" +#include "absl/strings/str_split.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/core/http/http_constants.h" #include "net/third_party/quiche/src/quic/core/http/http_decoder.h" @@ -215,9 +216,10 @@ } // TODO(b/147306124): Use a proper structured headers parser instead. - for (auto key_value : - quiche::QuicheTextUtils::Split(frame.priority_field_value, ',')) { - auto key_and_value = quiche::QuicheTextUtils::Split(key_value, '='); + for (absl::string_view key_value : + absl::StrSplit(frame.priority_field_value, ',')) { + std::vector<absl::string_view> key_and_value = + absl::StrSplit(key_value, '='); if (key_and_value.size() != 2) { continue; }
diff --git a/quic/core/http/spdy_utils.cc b/quic/core/http/spdy_utils.cc index 0eb05a8..2a888fb 100644 --- a/quic/core/http/spdy_utils.cc +++ b/quic/core/http/spdy_utils.cc
@@ -9,6 +9,7 @@ #include <vector> #include "absl/strings/numbers.h" +#include "absl/strings/str_split.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h" #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" @@ -32,7 +33,7 @@ // Check whether multiple values are consistent. absl::string_view content_length_header = it->second; std::vector<absl::string_view> values = - quiche::QuicheTextUtils::Split(content_length_header, '\0'); + absl::StrSplit(content_length_header, '\0'); for (const absl::string_view& value : values) { uint64_t new_value; if (!absl::SimpleAtoi(value, &new_value) ||
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc index 587be13..e35a49a 100644 --- a/quic/core/quic_framer.cc +++ b/quic/core/quic_framer.cc
@@ -16,6 +16,7 @@ #include "absl/base/optimization.h" #include "absl/strings/escaping.h" #include "absl/strings/numbers.h" +#include "absl/strings/str_split.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/core/crypto/crypto_framer.h" #include "net/third_party/quiche/src/quic/core/crypto/crypto_handshake.h" @@ -6858,8 +6859,7 @@ // the string is not found, or is not properly formed, it returns // ErrorCode::QUIC_IETF_GQUIC_ERROR_MISSING void MaybeExtractQuicErrorCode(QuicConnectionCloseFrame* frame) { - std::vector<absl::string_view> ed = - quiche::QuicheTextUtils::Split(frame->error_details, ':'); + std::vector<absl::string_view> ed = absl::StrSplit(frame->error_details, ':'); uint64_t extracted_error_code; if (ed.size() < 2 || !quiche::QuicheTextUtils::IsAllDigits(ed[0]) || !absl::SimpleAtoi(ed[0], &extracted_error_code)) {
diff --git a/quic/core/quic_tag.cc b/quic/core/quic_tag.cc index ed7ae17..5b38a8b 100644 --- a/quic/core/quic_tag.cc +++ b/quic/core/quic_tag.cc
@@ -9,6 +9,7 @@ #include "absl/base/macros.h" #include "absl/strings/escaping.h" +#include "absl/strings/str_split.h" #include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h" #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" #include "net/third_party/quiche/src/common/platform/api/quiche_text_utils.h" @@ -98,7 +99,7 @@ quiche::QuicheTextUtils::RemoveLeadingAndTrailingWhitespace(&tags_string); if (!tags_string.empty()) { std::vector<absl::string_view> tag_strings = - quiche::QuicheTextUtils::Split(tags_string, ','); + absl::StrSplit(tags_string, ','); for (absl::string_view tag_string : tag_strings) { tag_vector.push_back(ParseQuicTag(tag_string)); }
diff --git a/quic/core/quic_versions.cc b/quic/core/quic_versions.cc index 4c5571f..6bda82b 100644 --- a/quic/core/quic_versions.cc +++ b/quic/core/quic_versions.cc
@@ -8,6 +8,7 @@ #include "absl/base/macros.h" #include "absl/strings/numbers.h" +#include "absl/strings/str_split.h" #include "net/third_party/quiche/src/quic/core/crypto/quic_random.h" #include "net/third_party/quiche/src/quic/core/quic_tag.h" #include "net/third_party/quiche/src/quic/core/quic_types.h" @@ -376,7 +377,7 @@ absl::string_view versions_string) { ParsedQuicVersionVector versions; std::vector<absl::string_view> version_strings = - quiche::QuicheTextUtils::Split(versions_string, ','); + absl::StrSplit(versions_string, ','); for (absl::string_view version_string : version_strings) { quiche::QuicheTextUtils::RemoveLeadingAndTrailingWhitespace( &version_string);
diff --git a/quic/test_tools/qpack/qpack_offline_decoder.cc b/quic/test_tools/qpack/qpack_offline_decoder.cc index 38cd8fb..267fad3 100644 --- a/quic/test_tools/qpack/qpack_offline_decoder.cc +++ b/quic/test_tools/qpack/qpack_offline_decoder.cc
@@ -32,6 +32,7 @@ #include "absl/strings/match.h" #include "absl/strings/numbers.h" +#include "absl/strings/str_split.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/core/quic_types.h" #include "net/third_party/quiche/src/quic/platform/api/quic_file_utils.h" @@ -77,7 +78,7 @@ } bool QpackOfflineDecoder::ParseInputFilename(absl::string_view input_filename) { - auto pieces = quiche::QuicheTextUtils::Split(input_filename, '.'); + std::vector<absl::string_view> pieces = absl::StrSplit(input_filename, '.'); if (pieces.size() < 3) { QUIC_LOG(ERROR) << "Not enough fields in input filename " << input_filename; @@ -286,7 +287,7 @@ } absl::string_view header_field = expected_headers_data->substr(0, endline); - auto pieces = quiche::QuicheTextUtils::Split(header_field, '\t'); + std::vector<absl::string_view> pieces = absl::StrSplit(header_field, '\t'); if (pieces.size() != 2) { QUIC_LOG(ERROR) << "Header key and value must be separated by TAB.";
diff --git a/quic/tools/quic_toy_client.cc b/quic/tools/quic_toy_client.cc index 0b34e88..c25411d 100644 --- a/quic/tools/quic_toy_client.cc +++ b/quic/tools/quic_toy_client.cc
@@ -49,6 +49,7 @@ #include <vector> #include "absl/strings/escaping.h" +#include "absl/strings/str_split.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/core/quic_packets.h" #include "net/third_party/quiche/src/quic/core/quic_server_id.h" @@ -334,12 +335,12 @@ // Append any additional headers supplied on the command line. const std::string headers = GetQuicFlag(FLAGS_headers); - for (absl::string_view sp : QuicheTextUtils::Split(headers, ';')) { + for (absl::string_view sp : absl::StrSplit(headers, ';')) { QuicheTextUtils::RemoveLeadingAndTrailingWhitespace(&sp); if (sp.empty()) { continue; } - std::vector<absl::string_view> kv = QuicheTextUtils::Split(sp, ':'); + std::vector<absl::string_view> kv = absl::StrSplit(sp, ':'); QuicheTextUtils::RemoveLeadingAndTrailingWhitespace(&kv[0]); QuicheTextUtils::RemoveLeadingAndTrailingWhitespace(&kv[1]); header_block[kv[0]] = kv[1];