X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Futils.h;h=559638a34bf6512e6b289b54efc68ab56c56c889;hb=4f7b7be13874ae30d2a9cbb481bdacf4e160505f;hp=76127a4525845562841c4084d14557f8e948c021;hpb=077408f98f08fac1a098a501fffdb22728a57a46;p=libs%2Fnet.git diff --git a/source/utils.h b/source/utils.h index 76127a4..559638a 100644 --- a/source/utils.h +++ b/source/utils.h @@ -8,13 +8,37 @@ Distributed under the LGPL #ifndef MSP_HTTP_UTILS_H_ #define MSP_HTTP_UTILS_H_ +#include #include namespace Msp { namespace Http { -std::string urlencode(const std::string &); +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