Use absl::StartsWith/EndsWith in QUIC directly. PiperOrigin-RevId: 339124179 Change-Id: Icc501c054ab354387b8ff0af567d6b14ce5634cb
diff --git a/common/platform/api/quiche_text_utils.h b/common/platform/api/quiche_text_utils.h index 3e83063..4de3647 100644 --- a/common/platform/api/quiche_text_utils.h +++ b/common/platform/api/quiche_text_utils.h
@@ -17,22 +17,6 @@ // Various utilities for manipulating text. class QUICHE_EXPORT QuicheTextUtils { public: - // Returns true if |data| starts with |prefix|, case sensitively. - static bool StartsWith(absl::string_view data, absl::string_view prefix) { - return quiche::QuicheTextUtilsImpl::StartsWith(data, prefix); - } - - // Returns true if |data| ends with |suffix|, case sensitively. - static bool EndsWith(absl::string_view data, absl::string_view suffix) { - return quiche::QuicheTextUtilsImpl::EndsWith(data, suffix); - } - - // Returns true if |data| ends with |suffix|, case insensitively. - static bool EndsWithIgnoreCase(absl::string_view data, - absl::string_view suffix) { - return quiche::QuicheTextUtilsImpl::EndsWithIgnoreCase(data, suffix); - } - // Returns a new string in which |data| has been converted to lower case. static std::string ToLower(absl::string_view data) { return quiche::QuicheTextUtilsImpl::ToLower(data);
diff --git a/common/platform/api/quiche_text_utils_test.cc b/common/platform/api/quiche_text_utils_test.cc index c2f302d..bbea2cd 100644 --- a/common/platform/api/quiche_text_utils_test.cc +++ b/common/platform/api/quiche_text_utils_test.cc
@@ -13,28 +13,6 @@ class QuicheTextUtilsTest : public QuicheTest {}; -TEST_F(QuicheTextUtilsTest, StartsWith) { - EXPECT_TRUE(quiche::QuicheTextUtils::StartsWith("hello world", "hello")); - EXPECT_TRUE( - quiche::QuicheTextUtils::StartsWith("hello world", "hello world")); - EXPECT_TRUE(quiche::QuicheTextUtils::StartsWith("hello world", "")); - EXPECT_FALSE(quiche::QuicheTextUtils::StartsWith("hello world", "Hello")); - EXPECT_FALSE(quiche::QuicheTextUtils::StartsWith("hello world", "world")); - EXPECT_FALSE(quiche::QuicheTextUtils::StartsWith("hello world", "bar")); -} - -TEST_F(QuicheTextUtilsTest, EndsWithIgnoreCase) { - EXPECT_TRUE( - quiche::QuicheTextUtils::EndsWithIgnoreCase("hello world", "world")); - EXPECT_TRUE(quiche::QuicheTextUtils::EndsWithIgnoreCase("hello world", - "hello world")); - EXPECT_TRUE(quiche::QuicheTextUtils::EndsWithIgnoreCase("hello world", "")); - EXPECT_TRUE( - quiche::QuicheTextUtils::EndsWithIgnoreCase("hello world", "WORLD")); - EXPECT_FALSE( - quiche::QuicheTextUtils::EndsWithIgnoreCase("hello world", "hello")); -} - TEST_F(QuicheTextUtilsTest, ToLower) { EXPECT_EQ("lower", quiche::QuicheTextUtils::ToLower("LOWER")); EXPECT_EQ("lower", quiche::QuicheTextUtils::ToLower("lower"));
diff --git a/quic/core/chlo_extractor.cc b/quic/core/chlo_extractor.cc index e469e0d..851967a 100644 --- a/quic/core/chlo_extractor.cc +++ b/quic/core/chlo_extractor.cc
@@ -4,6 +4,7 @@ #include "net/third_party/quiche/src/quic/core/chlo_extractor.h" +#include "absl/strings/match.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" @@ -160,7 +161,7 @@ absl::string_view data(frame.data_buffer, frame.data_length); if (QuicUtils::IsCryptoStreamId(framer_->transport_version(), frame.stream_id) && - frame.offset == 0 && quiche::QuicheTextUtils::StartsWith(data, "CHLO")) { + frame.offset == 0 && absl::StartsWith(data, "CHLO")) { return OnHandshakeData(data); } return true; @@ -172,7 +173,7 @@ return false; } absl::string_view data(frame.data_buffer, frame.data_length); - if (frame.offset == 0 && quiche::QuicheTextUtils::StartsWith(data, "CHLO")) { + if (frame.offset == 0 && absl::StartsWith(data, "CHLO")) { return OnHandshakeData(data); } return true;
diff --git a/quic/core/crypto/certificate_view.cc b/quic/core/crypto/certificate_view.cc index 2335769..58cfe19 100644 --- a/quic/core/crypto/certificate_view.cc +++ b/quic/core/crypto/certificate_view.cc
@@ -9,6 +9,7 @@ #include <memory> #include <string> +#include "absl/strings/match.h" #include "absl/strings/string_view.h" #include "absl/types/optional.h" #include "third_party/boringssl/src/include/openssl/base.h" @@ -149,8 +150,8 @@ QuicheTextUtils::RemoveLeadingAndTrailingWhitespace(&line); // Handle BEGIN lines. - if (!pending_message && QuicheTextUtils::StartsWith(line, kPemBegin) && - QuicheTextUtils::EndsWith(line, kPemDashes)) { + if (!pending_message && absl::StartsWith(line, kPemBegin) && + absl::EndsWith(line, kPemDashes)) { result.type = std::string( line.substr(kPemBegin.size(), line.size() - kPemDashes.size() - kPemBegin.size()));
diff --git a/quic/core/crypto/quic_crypto_client_config.cc b/quic/core/crypto/quic_crypto_client_config.cc index c54c5d3..1026781 100644 --- a/quic/core/crypto/quic_crypto_client_config.cc +++ b/quic/core/crypto/quic_crypto_client_config.cc
@@ -9,6 +9,7 @@ #include <string> #include "absl/base/macros.h" +#include "absl/strings/match.h" #include "absl/strings/string_view.h" #include "third_party/boringssl/src/include/openssl/ssl.h" #include "net/third_party/quiche/src/quic/core/crypto/cert_compressor.h" @@ -858,8 +859,7 @@ DCHECK(server_state->IsEmpty()); size_t i = 0; for (; i < canonical_suffixes_.size(); ++i) { - if (quiche::QuicheTextUtils::EndsWithIgnoreCase(server_id.host(), - canonical_suffixes_[i])) { + if (absl::EndsWithIgnoreCase(server_id.host(), canonical_suffixes_[i])) { break; } }
diff --git a/quic/core/crypto/quic_crypto_server_config_test.cc b/quic/core/crypto/quic_crypto_server_config_test.cc index b91113d..e612a33 100644 --- a/quic/core/crypto/quic_crypto_server_config_test.cc +++ b/quic/core/crypto/quic_crypto_server_config_test.cc
@@ -9,6 +9,7 @@ #include <memory> #include <string> +#include "absl/strings/match.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/core/crypto/cert_compressor.h" #include "net/third_party/quiche/src/quic/core/crypto/chacha20_poly1305_encrypter.h" @@ -355,8 +356,7 @@ QuicCryptoServerConfig::GenerateConfig(rand_, &clock_, options); protobuf.set_primary_time(primary_time); protobuf.set_priority(priority); - if (quiche::QuicheTextUtils::StartsWith(std::string(server_config_id), - "INVALID")) { + if (absl::StartsWith(std::string(server_config_id), "INVALID")) { protobuf.clear_key(); has_invalid = true; }
diff --git a/quic/core/quic_framer_test.cc b/quic/core/quic_framer_test.cc index 2fbab61..aa7fa8b 100644 --- a/quic/core/quic_framer_test.cc +++ b/quic/core/quic_framer_test.cc
@@ -13,6 +13,7 @@ #include <vector> #include "absl/base/macros.h" +#include "absl/strings/match.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/core/crypto/null_decrypter.h" #include "net/third_party/quiche/src/quic/core/crypto/null_encrypter.h" @@ -4080,8 +4081,8 @@ AsChars(framer_.version().HasIetfInvariantHeader() ? packet46 : packet), ABSL_ARRAYSIZE(packet), false); EXPECT_FALSE(framer_.ProcessPacket(encrypted)); - EXPECT_TRUE(quiche::QuicheTextUtils::StartsWith( - framer_.detailed_error(), "delta_from_largest_observed too high")); + EXPECT_TRUE(absl::StartsWith(framer_.detailed_error(), + "delta_from_largest_observed too high")); } TEST_P(QuicFramerTest, AckFrameTimeStampSecondDeltaTooHigh) { @@ -4153,8 +4154,8 @@ AsChars(framer_.version().HasIetfInvariantHeader() ? packet46 : packet), ABSL_ARRAYSIZE(packet), false); EXPECT_FALSE(framer_.ProcessPacket(encrypted)); - EXPECT_TRUE(quiche::QuicheTextUtils::StartsWith( - framer_.detailed_error(), "delta_from_largest_observed too high")); + EXPECT_TRUE(absl::StartsWith(framer_.detailed_error(), + "delta_from_largest_observed too high")); } TEST_P(QuicFramerTest, NewStopWaitingFrame) {
diff --git a/quic/test_tools/qpack/qpack_offline_decoder.cc b/quic/test_tools/qpack/qpack_offline_decoder.cc index 2fcf62a..211417f 100644 --- a/quic/test_tools/qpack/qpack_offline_decoder.cc +++ b/quic/test_tools/qpack/qpack_offline_decoder.cc
@@ -30,6 +30,7 @@ #include <string> #include <utility> +#include "absl/strings/match.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" @@ -316,8 +317,7 @@ decoded_header_list.begin(); decoded_it != decoded_header_list.end();) { const absl::string_view key = decoded_it->first; - if (key != kContentLength && - !quiche::QuicheTextUtils::StartsWith(key, kPseudoHeaderPrefix)) { + if (key != kContentLength && !absl::StartsWith(key, kPseudoHeaderPrefix)) { ++decoded_it; continue; }
diff --git a/quic/test_tools/quic_test_client.cc b/quic/test_tools/quic_test_client.cc index ee99d9d..8896cac 100644 --- a/quic/test_tools/quic_test_client.cc +++ b/quic/test_tools/quic_test_client.cc
@@ -8,6 +8,7 @@ #include <utility> #include <vector> +#include "absl/strings/match.h" #include "absl/strings/string_view.h" #include "third_party/boringssl/src/include/openssl/x509.h" #include "net/third_party/quiche/src/quic/core/crypto/proof_verifier.h" @@ -939,8 +940,7 @@ const std::string& uri, spdy::SpdyHeaderBlock* headers) { std::string url; - if (quiche::QuicheTextUtils::StartsWith(uri, "https://") || - quiche::QuicheTextUtils::StartsWith(uri, "http://")) { + if (absl::StartsWith(uri, "https://") || absl::StartsWith(uri, "http://")) { url = uri; } else if (uri[0] == '/') { url = "https://" + client_->server_id().host() + uri;
diff --git a/quic/tools/quic_client_test.cc b/quic/tools/quic_client_test.cc index 219fa70..034c4dd 100644 --- a/quic/tools/quic_client_test.cc +++ b/quic/tools/quic_client_test.cc
@@ -10,6 +10,7 @@ #include <memory> #include <utility> +#include "absl/strings/match.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/platform/api/quic_epoll.h" #include "net/third_party/quiche/src/quic/platform/api/quic_port_utils.h" @@ -46,7 +47,7 @@ } std::string fd_path = ReadLink(quiche::QuicheStrCat(kPathToFds, "/", name)); - if (quiche::QuicheTextUtils::StartsWith(fd_path, "socket:")) { + if (absl::StartsWith(fd_path, "socket:")) { socket_count++; } }
diff --git a/quic/tools/quic_memory_cache_backend.cc b/quic/tools/quic_memory_cache_backend.cc index 497cdfd..84596fd 100644 --- a/quic/tools/quic_memory_cache_backend.cc +++ b/quic/tools/quic_memory_cache_backend.cc
@@ -6,6 +6,7 @@ #include <utility> +#include "absl/strings/match.h" #include "absl/strings/string_view.h" #include "net/third_party/quiche/src/quic/core/http/spdy_utils.h" #include "net/third_party/quiche/src/quic/platform/api/quic_bug_tracker.h" @@ -122,9 +123,9 @@ absl::string_view QuicMemoryCacheBackend::ResourceFile::RemoveScheme( absl::string_view url) { - if (quiche::QuicheTextUtils::StartsWith(url, "https://")) { + if (absl::StartsWith(url, "https://")) { url.remove_prefix(8); - } else if (quiche::QuicheTextUtils::StartsWith(url, "http://")) { + } else if (absl::StartsWith(url, "http://")) { url.remove_prefix(7); } return url;
diff --git a/quic/tools/quic_memory_cache_backend_test.cc b/quic/tools/quic_memory_cache_backend_test.cc index 2bdd294..1902146 100644 --- a/quic/tools/quic_memory_cache_backend_test.cc +++ b/quic/tools/quic_memory_cache_backend_test.cc
@@ -4,6 +4,7 @@ #include "net/third_party/quiche/src/quic/tools/quic_memory_cache_backend.h" +#include "absl/strings/match.h" #include "net/third_party/quiche/src/quic/platform/api/quic_file_utils.h" #include "net/third_party/quiche/src/quic/platform/api/quic_map_util.h" #include "net/third_party/quiche/src/quic/platform/api/quic_test.h" @@ -123,7 +124,7 @@ std::string dir; std::string path = "map.html"; for (const std::string& file : ReadFileContents(CacheDirectory())) { - if (quiche::QuicheTextUtils::EndsWithIgnoreCase(file, "map.html")) { + if (absl::EndsWithIgnoreCase(file, "map.html")) { dir = file; dir.erase(dir.length() - path.length() - 1); break;