From 89519c88e2cce6aa001c24cdf58bc55becf95ef3 Mon Sep 17 00:00:00 2001 From: yhirose Date: Wed, 10 Mar 2021 15:56:04 -0500 Subject: [PATCH] Fix #874 --- httplib.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/httplib.h b/httplib.h index c403708..1f54a1d 100644 --- a/httplib.h +++ b/httplib.h @@ -204,6 +204,7 @@ using socket_t = int; #include #include #include +#include #ifdef CPPHTTPLIB_OPENSSL_SUPPORT #include @@ -3171,7 +3172,14 @@ inline std::string append_query_params(const char *path, const Params ¶ms) { } inline void parse_query_text(const std::string &s, Params ¶ms) { + std::set cache; split(s.data(), s.data() + s.size(), '&', [&](const char *b, const char *e) { + std::string kv(b, e); + if (cache.find(kv) != cache.end()) { + return; + } + cache.insert(kv); + std::string key; std::string val; split(b, e, '=', [&](const char *b2, const char *e2) {