Uniform Resource Identifier handling that is RFC3986-compliant.
A single URI that is a compact sequence of characters that identifies an abstract or physical resource.
Percent-encode a string. The scheme
argument defaults to 'http' and
the component
argument defaults to `Path
Percent-decode a percent-encoded string
Make a percent-encoded query string from percent-decoded query tuple
Parse a percent-encoded query string into a percent-decoded query tuple
get_query_param' q key
returns the list of values for the
key
parameter in query q
. Note that an empty list is not the
same as a None
return value. For a query foo
, the mapping is:
/
returns None/?foo
returns Some /?foo=
returns Some [""]
/?foo=bar
returns Some ["bar"]
/?foo=bar,chi
returns Some ["bar","chi"]
Query keys can be duplicated in the URI, in which case the first one is returned. If you want to resolve duplicate keys, obtain the full result set with query instead.
get_query_param q key
returns the value found for a key
in
query q
. If there are multiple values for the key, then the
first one is returned/
Make a URI from supplied components. If userinfo or port are supplied without host, an empty host is added. If path is supplied and userinfo, host, or port is also supplied, path is made absolute but not resolved.
Get the host component of a URI, with a default supplied if one is not present