diff --git a/tools/server/server-tools.cpp b/tools/server/server-tools.cpp index 0983e62cd4..4a6c5ed442 100644 --- a/tools/server/server-tools.cpp +++ b/tools/server/server-tools.cpp @@ -1202,9 +1202,16 @@ static std::vector> build_tools() { return tools; } +static std::string str_to_lower(const std::string & value) { + std::string lowered(value.size(), '\0'); + std::transform(value.begin(), value.end(), lowered.begin(), [](unsigned char c) { return std::tolower(c); }); + return lowered; +} + static std::string get_header(const std::map & headers, const std::string & key, std::string default_value = "") { + const auto lowered_key = str_to_lower(key); for (const auto & h : headers) { - if (strcasecmp(h.first.c_str(), key.c_str()) == 0) { + if (str_to_lower(h.first) == lowered_key) { return h.second; } }