10#include <unordered_map>
12#include <userver/utils/impl/internal_tag_fwd.hpp>
13#include <userver/utils/str_icase.hpp>
15USERVER_NAMESPACE_BEGIN
20[[deprecated(
"Use a more strict http::parser::UrlDecode instead")]] std::string
24std::string
UrlEncode(std::string_view input_string);
26using Args = std::unordered_map<std::string, std::string, utils::StrCaseHash>;
27using MultiArgs = std::multimap<std::string, std::string>;
34 const std::unordered_map<std::string, std::string>& query_args);
38 std::initializer_list<std::pair<std::string_view, std::string_view>>
42std::string
MakeUrl(std::string_view path,
const Args& query_args);
46 std::string_view path,
47 const std::unordered_map<std::string, std::string>& query_args);
50std::string
MakeUrl(std::string_view path,
const Args& query_args,
51 MultiArgs query_multiargs);
55 std::string_view path,
56 std::initializer_list<std::pair<std::string_view, std::string_view>>
70std::string UrlDecode(utils::impl::InternalTag, std::string_view range);