RESTinio
|
Traits for parsing a query string in a very relaxed mode. More...
#include <uri_helpers.hpp>
Additional Inherited Members | |
Static Public Member Functions inherited from restinio::utils::relaxed_unescape_traits | |
static bool | ordinary_char (char c) noexcept |
Static Public Member Functions inherited from restinio::parse_query_traits::details::ampersand_only_as_separators | |
static string_view_t::size_type | find_next_separator (string_view_t where, string_view_t::size_type start_from) noexcept |
Traits for parsing a query string in a very relaxed mode.
In that mode all characters described in that rule from RCF3986 can be used as unexcaped:
query = *( pchar / "/" / "?" ) pchar = unreserved / pct-encoded / sub-delims / ":" / "@" unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" reserved = gen-delims / sub-delims gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
Additionaly this traits allows to use unexcaped space character.
Note that despite that fact that symbols like #, +, = and & can be used in non-percent-encoded form they play special role and are interpreted special way. So such symbols should be percent-encoded if they are used as part of name or value in query string.
Only ampersand (&) can be used as name=value pairs separator.
Usage example:
Definition at line 326 of file uri_helpers.hpp.