Dictionary::Ptr HttpUtility::FetchRequestParameters(const Url::Ptr& url, const std::string& body) { Dictionary::Ptr result; if (!body.empty()) { Log(LogDebug, "HttpUtility") << "Request body: '" << body << '\''; result = JsonDecode(body); } if (!result) result = new Dictionary(); std::map<String, std::vector<String>> query; for (const auto& kv : url->GetQuery()) { query[kv.first].emplace_back(kv.second); } for (auto& kv : query) { result->Set(kv.first, Array::FromVector(kv.second)); } return result; }