How to get http params from Cowboy?

cowboy, erlang

Solution

You should use the `cowboy_http_req:qs_val/2` function, e.g. `cowboy_http_req:qs_val(<<"a">>, Req)`, look at https://github.com/extend/cowboy/blob/master/examples/echo_get/src/toppage_handler.erl for an example.

You can also use `cowboy_http_req:qs_vals/1` to retrieve a list of all query string values.

Problem

I am using cowboy( https://github.com/extend/cowboy) for one restful web service, I need to get the params from "http://localhost:8080/?a=1&b=2&c=32" ``` init({tcp, http}, Req, Opts) -> log4erl:debug("~p~n", [Opts]), {ok, Req, undefined_state}. handle(Req, State) -> {ok, Req2} = cowboy_http_req:reply(200, [], <<"Hello World!">>, Req), io:format("How to get the params from Req ? "), {ok, Req2, State}. terminate(Req, State) -> log4erl:debug("~p~p~n", [Req, State]), ok. ```

Original source