querystring.get
Available inall subroutines.
Returns a value associated with the name
in the query component of an URL.
If the query component does not contain a value associated with name
, then
querystring.get
returns a not set
value. For example,
querystring.get("/?a=1&b=2&c=3", "d")
is a not set
value.
If a query parameter associated with name
is found but the value is absent,
then querystring.get
returns the string ""
. For example,
querystring.get("/?a=1&b=&c=3", "b")
is ""
.
If multiple query parameters of the same name
are present in the query
component, then querystring.get
returns the first value associated with
name
. For example, querystring.get("/?a=1&b=2&c=3&b=4&d=5", "b")
is "2"
.
If the URL does not include a query component, then querystring.get
returns a
not set
value. For example, querystring.get("/", "a")
is a not set
value.
If querystring.get
is called with not set
or empty string arguments, then it
returns a not set
value. For example, querystring.get("", "")
is a not
set value.
To check if the return value is not an empty string or a not set
value, use the
std.strlen
function, which
returns 0
in both cases.
if (std.strlen(querystring.get(req.url, "foo")) > 0) { // Do something if the value associated with "foo" is not an empty string // or a not set value.}
This function conforms to the URL Living Standard.
Examples
querystring.get("/?foo=", "foo") # returns ""querystring.get("", "") # returns a not set valuequerystring.get("/?foo=&foo=bar", "foo") # returns ""querystring.get("/?a=1&b=2&c=3&d=4", "b") # returns "2"querystring.get("/?a=1", "b") # returns a not set valuequerystring.get("/?foo", "foo") # returns a not set valuequerystring.get("/?a=1&b=2&c=3&d=4&b=5", "b") # returns "2"querystring.get(not set string, not set string) # returns a not set value