removed double lookup by count() and find(),

made empty string const, changed from template to ci_map parameter
This commit is contained in:
Gulliver
2025-12-29 20:18:06 +01:00
parent 2709cb04cf
commit 5b8c0a1f1b

View File

@@ -20,15 +20,16 @@ namespace crow // NOTE: Already documented in "crow/app.h"
#endif
/// Find and return the value associated with the key. (returns an empty string if nothing is found)
template<typename T>
inline const std::string& get_header_value(const T& headers, const std::string& key)
inline const std::string& get_header_value(const ci_map& headers, const std::string& key)
{
if (headers.count(key))
{
return headers.find(key)->second;
static const std::string EMPTY;
const auto it = headers.find(key);
if (it != headers.end()) {
return it->second;
}
else {
return EMPTY;
}
static std::string empty;
return empty;
}
/// An HTTP request.