fix: harden UCE runtime and starter
This commit is contained in:
@@ -7,10 +7,31 @@ 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:
|
||||
|
||||
Reference in New Issue
Block a user