read_urlencoded_body(Req :: cowboy_req:req()) -> read_urlencoded_body(Req, #{}) read_urlencoded_body(Req :: cowboy_req:req(), Opts) -> {ok, Body, Req} Opts :: cowboy_req:read_body_opts() Body :: [{Key :: binary(), Value :: binary() | true}]
cowboy_req:read_urlencoded_body - Read and parse a urlencoded request body
read_urlencoded_body(Req :: cowboy_req:req()) -> read_urlencoded_body(Req, #{}) read_urlencoded_body(Req :: cowboy_req:req(), Opts) -> {ok, Body, Req} Opts :: cowboy_req:read_body_opts() Body :: [{Key :: binary(), Value :: binary() | true}]
Read and parse a urlencoded request body.
This function reads the request body and parses it as application/x-www-form-urlencoded
. It returns a list of key/values.
The urlencoded media type is used by Web browsers when submitting HTML forms using the POST method.
Cowboy needs to read the full body before parsing. By default it will read bodies of size up to 64KB. It is possible to provide options to read larger bodies if required.
Cowboy will automatically handle protocol details including the expect header, chunked transfer-encoding and others.
Once the body has been read, Cowboy sets the content-length header if it was not previously provided.
This function can only be called once. Calling it again will result in undefined behavior.
The Req object.
A map of body reading options. Please refer to cowboy_req:read_body(3) for details about each option.
This function defaults the length
to 64KB and the period
to 5 seconds.
An ok
tuple is returned containing a list of key/values found in the body.
The Req object returned in the tuple must be used from that point onward. It contains a more up to date representation of the request. For example it may have an added content-length header once the body has been read.
body_qs/1,2
.
{ok, Body, Req} = cowboy_req:read_urlencoded_body(Req0), {_, Lang} = lists:keyfind(<<"lang">>, 1, Body).
{ok, Body, Req} = cowboy_req:read_urlencoded_body(Req0, #{length => 1000000}).
cowboy_req(3), cowboy_req:has_body(3), cowboy_req:body_length(3), cowboy_req:read_body(3), cowboy_req:read_and_match_urlencoded_body(3), cowboy_req:read_part(3), cowboy_req:read_part_body(3)
Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:
Recurring payment options are also available via GitHub Sponsors. These funds are used to cover the recurring expenses like food, dedicated servers or domain names.