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].

Cowboy 2.4 Function Reference

Navigation

Version select