From 21b19b248c4a65e15362a15017aa01fb47298c4f Mon Sep 17 00:00:00 2001 From: Quinten Mennen Date: Wed, 24 Sep 2025 11:20:15 +0200 Subject: [PATCH] fix(headers): retrieval also case-insensitive --- webserv/http/HttpHeaders.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/webserv/http/HttpHeaders.cpp b/webserv/http/HttpHeaders.cpp index 965eee1..534c603 100644 --- a/webserv/http/HttpHeaders.cpp +++ b/webserv/http/HttpHeaders.cpp @@ -2,6 +2,7 @@ #include "webserv/config/utils.hpp" #include "webserv/http/HttpConstants.hpp" +#include "webserv/log/Log.hpp" #include @@ -37,7 +38,9 @@ void HttpHeaders::remove(const std::string &name) const std::string &HttpHeaders::get(const std::string &name) const { - auto it = headers_.find(name); + std::string lower = name; + std::ranges::transform(lower, lower.begin(), ::tolower); + auto it = headers_.find(lower); if (it != headers_.end()) { return it->second; @@ -48,7 +51,9 @@ const std::string &HttpHeaders::get(const std::string &name) const bool HttpHeaders::has(const std::string &name) const { - return headers_.contains(name); + std::string lower = name; + std::ranges::transform(lower, lower.begin(), ::tolower); + return headers_.contains(lower); } void HttpHeaders::parse(const std::string &rawHeaders)