X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fhttp%2Futils.h;fp=source%2Fhttp%2Futils.h;h=a25a748a6aa7464409c20fb1c67702b9b3e367a1;hb=cf8d2e48581eeb8f1b83e8c48321a0bc2ffa6d83;hp=0000000000000000000000000000000000000000;hpb=d683ca0964182e9579838fec8d7d100eeabddee0;p=libs%2Fnet.git diff --git a/source/http/utils.h b/source/http/utils.h new file mode 100644 index 0000000..a25a748 --- /dev/null +++ b/source/http/utils.h @@ -0,0 +1,39 @@ +#ifndef MSP_HTTP_UTILS_H_ +#define MSP_HTTP_UTILS_H_ + +#include +#include + +namespace Msp { +namespace Http { + +enum EncodeLevel +{ + MINIMAL, + SAFE, + PARANOID +}; + +struct Url +{ + std::string scheme; + std::string host; + std::string path; + std::string query; + std::string fragment; +}; + +typedef std::map Query; + +std::string urlencode(const std::string &, EncodeLevel =SAFE); +std::string urlencode_plus(const std::string &, EncodeLevel =SAFE); +std::string urldecode(const std::string &); +Url parse_url(const std::string &); +std::string build_url(const Url &); +Query parse_query(const std::string &); +std::string build_query(const Query &); + +} // namespace Http +} // namespace Msp + +#endif