diff --git a/libcinatra_http/cinatra_http/utils.h b/libcinatra_http/cinatra_http/utils.h index bf699276..dfdaffc9 100644 --- a/libcinatra_http/cinatra_http/utils.h +++ b/libcinatra_http/cinatra_http/utils.h @@ -65,6 +65,7 @@ namespace cinatra template void kv_parser(IteratorT begin, IteratorT end, MapT& result, int kv_sep, int field_sep, bool unescape, bool trim) { + result.clear(); std::string key, val; auto result_add = [&result, trim](std::string key, std::string val) { diff --git a/libcinatra_http/request.cpp b/libcinatra_http/request.cpp index cfc4ff86..0f8fef5a 100644 --- a/libcinatra_http/request.cpp +++ b/libcinatra_http/request.cpp @@ -47,7 +47,7 @@ namespace cinatra { return -1; } - + queries_.clear(); if (url_info_.field_set & (1 << UF_QUERY)) { kv_parser(url_ + url_info_.field_data[UF_QUERY].off, @@ -463,4 +463,4 @@ namespace cinatra buffer_.max_size += size; } -} \ No newline at end of file +}