cowboy_req:parse_qs(3)

NAME

cowboy_req:parse_qs - Parse the query string

DESCRIPTION
    parse_qs(Req :: cowboy_req:req())
        -> [{Key :: binary(), Value :: binary() | true}]

Parse the query string as a list of key/value pairs.

ARGUMENTS

Req
    The Req object.

RETURN VALUE

The parsed query string is returned as a list of key/value pairs. The key is a binary string. The value is either a binary string, or the atom true. Both key and value are case sensitive.

The atom true is returned when a key is present in the query string without a value. For example, in the following URIs the key <<"edit">> will always have the value true:

    • /posts/42?edit
    • /posts/42?edit&exclusive=1
    • /posts/42?exclusive=1&edit
    • /posts/42?exclusive=1&edit&from=web

CHANGELOG
    • 2.0: The parsed value is not longer cached in the Req object.
    • 2.0: Only the parsed query string is returned, it is no longer wrapped in a tuple.
    • 2.0: Function introduced. Replaces qs_val/1 and qs_vals/1.

EXAMPLES

Parse the query string and convert the keys to atoms
    ParsedQs = cowboy_req:parse_qs(Req),
    AtomsQs = [{binary_to_existing_atom(K, latin1), V}
        || {K, V} <- ParsedQs].

SEE ALSO

cowboy_req(3), cowboy_req:qs(3), cowboy_req:match_qs(3)