From 78187ac79b914fbf213644a68a376de2c96ad26e Mon Sep 17 00:00:00 2001
From: vadim-xd <vadim-xd@yandex-team.com>
Date: Wed, 17 Apr 2024 16:08:15 +0300
Subject: Use AsciiEqualsIgnoreCase, remove bicycle
 05bf28fe4eb31cec383104614cfd06d51d5c6a72

---
 library/cpp/http/io/headers.cpp | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

(limited to 'library/cpp/http/io/headers.cpp')

diff --git a/library/cpp/http/io/headers.cpp b/library/cpp/http/io/headers.cpp
index 3f3a5a2d07..9117bc0ba0 100644
--- a/library/cpp/http/io/headers.cpp
+++ b/library/cpp/http/io/headers.cpp
@@ -12,13 +12,6 @@ static inline TStringBuf Trim(const char* b, const char* e) noexcept {
     return StripString(TStringBuf(b, e));
 }
 
-static inline bool HeaderNameEqual(TStringBuf headerName, TStringBuf expectedName) noexcept {
-    // Most headers names have distinct sizes.
-    // Size comparison adds small overhead if all headers have the same size (~4% or lower with size = 4),
-    // but significantly speeds up the case where sizes are different (~4.5x for expectedName.size() = 4 and headerName.size() = 5)
-    return headerName.size() == expectedName.size() && AsciiCompareIgnoreCase(headerName, expectedName) == 0;
-}
-
 THttpInputHeader::THttpInputHeader(const TStringBuf header) {
     size_t pos = header.find(':');
 
@@ -79,7 +72,7 @@ bool THttpHeaders::HasHeader(const TStringBuf header) const {
 
 const THttpInputHeader* THttpHeaders::FindHeader(const TStringBuf header) const {
     for (const auto& hdr : Headers_) {
-        if (HeaderNameEqual(hdr.Name(), header)) {
+        if (AsciiEqualsIgnoreCase(hdr.Name(), header)) {
             return &hdr;
         }
     }
@@ -88,7 +81,7 @@ const THttpInputHeader* THttpHeaders::FindHeader(const TStringBuf header) const
 
 void THttpHeaders::RemoveHeader(const TStringBuf header) {
     for (auto h = Headers_.begin(); h != Headers_.end(); ++h) {
-        if (HeaderNameEqual(h->Name(), header)) {
+        if (AsciiEqualsIgnoreCase(h->Name(), header)) {
             Headers_.erase(h);
             return;
         }
@@ -98,7 +91,7 @@ void THttpHeaders::RemoveHeader(const TStringBuf header) {
 void THttpHeaders::AddOrReplaceHeader(const THttpInputHeader& header) {
     TStringBuf name = header.Name();
     for (auto& hdr : Headers_) {
-        if (HeaderNameEqual(hdr.Name(), name)) {
+        if (AsciiEqualsIgnoreCase(hdr.Name(), name)) {
             hdr = header;
             return;
         }
-- 
cgit v1.2.3