:sig StringMap parse_query(String q) :params q : string containing URL parameters return value : a StringMap containing the parameters :see >uri encode_query request_context_params :content Decodes a query-string fragment such as `a=b&c=d` into a `StringMap`. Parsing rules: - pairs are separated on `&` - each pair is split on the first raw `=` only - both key and value are URL-decoded - keyless flags such as `preview` are present with an empty string value - empty pairs, including a trailing `&`, are ignored - repeated keys use the last value seen Examples: ```cpp StringMap q = parse_query("alpha=1&token=a%3Db&preview&empty="); // q["alpha"] == "1" // q["token"] == "a=b" // q["preview"] == "" // q["empty"] == "" ``` This is useful when you need to work with URL parameter data outside the normal request parsing flow. Related: - PHP: `parse_str()` - JavaScript / Node.js: `URLSearchParams` or Node `querystring.parse()`