Http.QueryQueries.
A datatype and codecs to handle the quirky queries found in URLs and some media types.
The type for queries as key-values maps. Both keys and values are properly decoded. Note that keys can map to multiple values.
val empty : tempty is the empty key-values map.
def k v q is q with k bound only to value v. See also add_value.
add_value k v q is q with k bound to find_all k q @ [v]. See also def.
val find_first : string -> t -> string optionfind_first k q is the value of k's first binding in q, if any.
val find_all : string -> t -> string listfind_all k q are all the values bound to k or the empty list if k is unbound.
val fold : (string -> string -> 'a -> 'a) -> t -> 'a -> 'afold f q acc folds over all the key-value bindings. For keys with multiple values folds over them in the same order as given by find_all.
val mem : string -> t -> boolmem k q is true iff key k is bound in q.
val decode : string -> tdecode s decodes the application/x-www-form-urlencoded s to a query. If a key is defined more than once, the first definition is returned by find_first and the left-to-right order preserved by find_all's list. The input string is not checked for UTF-8 validity.
val encode : t -> stringencode q encodes q to an application/x-www-form-urlencoded string.
val pp : Stdlib.Format.formatter -> t -> unitpp formats queries for inspection.