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];