diff options
Diffstat (limited to 'web/server/mime-url-encoding.hxx')
-rw-r--r-- | web/server/mime-url-encoding.hxx | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/web/server/mime-url-encoding.hxx b/web/server/mime-url-encoding.hxx new file mode 100644 index 0000000..34172a4 --- /dev/null +++ b/web/server/mime-url-encoding.hxx @@ -0,0 +1,32 @@ +// file : web/server/mime-url-encoding.hxx -*- C++ -*- +// license : MIT; see accompanying LICENSE file + +#ifndef WEB_SERVER_MIME_URL_ENCODING_HXX +#define WEB_SERVER_MIME_URL_ENCODING_HXX + +#include <string> + +namespace web +{ + // URL-encode characters other than unreserved (see RFC3986). If the query + // flag is true, then the encoding is applied to the URL query part, and so + // convert space characters to plus characters rather than percent-encode + // them. + // + std::string + mime_url_encode (const char*, bool query = true); + + std::string + mime_url_encode (const std::string&, bool query = true); + + // If the query flag is true, then convert plus characters to space + // characters (see above). Throw std::invalid_argument if an invalid encoding + // sequence is encountered. + // + std::string + mime_url_decode (const char* b, const char* e, + bool trim = false, + bool query = true); +} + +#endif // WEB_SERVER_MIME_URL_ENCODING_HXX |