diff options
author | vadim-xd <vadim-xd@yandex-team.com> | 2024-04-17 16:08:15 +0300 |
---|---|---|
committer | vadim-xd <vadim-xd@yandex-team.com> | 2024-04-17 16:26:08 +0300 |
commit | 78187ac79b914fbf213644a68a376de2c96ad26e (patch) | |
tree | e42a7b539e31c9345b9b306445dd67dc4457acee /library/cpp/http/io/headers.cpp | |
parent | 9b1470229ddab1b35b19c0372103f0f44ceafaa8 (diff) | |
download | ydb-78187ac79b914fbf213644a68a376de2c96ad26e.tar.gz |
Use AsciiEqualsIgnoreCase, remove bicycle
05bf28fe4eb31cec383104614cfd06d51d5c6a72
Diffstat (limited to 'library/cpp/http/io/headers.cpp')
-rw-r--r-- | library/cpp/http/io/headers.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
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; } |