A class to represent any data coming after the ?
in the request URL into key-value pairs.
More...
#include <query_string.h>
Public Member Functions | |
query_string (const query_string &qs) | |
query_string & | operator= (const query_string &qs) |
query_string & | operator= (query_string &&qs) noexcept |
query_string (std::string params, bool url=true) | |
void | clear () |
char * | get (const std::string &name) const |
Get a value from a name, used for ?name=value . More... | |
char * | pop (const std::string &name) |
Works similar to get() except it removes the item from the query string. | |
std::vector< char * > | get_list (const std::string &name, bool use_brackets=true) const |
Returns a list of values, passed as ?name[]=value1&name[]=value2&...name[]=valuen with n being the size of the list. More... | |
std::vector< char * > | pop_list (const std::string &name, bool use_brackets=true) |
Similar to get_list() but it removes the. | |
std::unordered_map< std::string, std::string > | get_dict (const std::string &name) const |
Works similar to get_list() except the brackets are mandatory must not be empty. More... | |
std::unordered_map< std::string, std::string > | pop_dict (const std::string &name) |
Works the same as get_dict() but removes the values from the query string. | |
std::vector< std::string > | keys () const |
Static Public Attributes | |
static const int | MAX_KEY_VALUE_PAIRS_COUNT = 256 |
Friends | |
std::ostream & | operator<< (std::ostream &os, const query_string &qs) |
A class to represent any data coming after the ?
in the request URL into key-value pairs.
|
inline |
Get a value from a name, used for ?name=value
.
Note: this method returns the value of the first occurrence of the key only, to return all occurrences, see get_list().
|
inline |
Works similar to get_list() except the brackets are mandatory must not be empty.
For example calling get_dict(yourname)
on ?yourname[sub1]=42&yourname[sub2]=84
would give a map containing {sub1 : 42, sub2 : 84}
.
if your query string has both empty brackets and ones with a key inside, use pop_list() to get all the values without a key before running this method.
|
inline |
Returns a list of values, passed as ?name[]=value1&name[]=value2&...name[]=valuen
with n being the size of the list.
Note: Square brackets in the above example are controlled by use_brackets
boolean (true by default). If set to false, the example becomes ?name=value1,name=value2...name=valuen