diff options
author | Herman Singh <[email protected]> | 2018-09-07 13:48:43 -0400 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2018-09-23 14:12:38 +0200 |
commit | 86cb105679ff80214bfc9d979afa27b1eb747307 (patch) | |
tree | 873da2ab17c954c9fdf5e8adc5458212274b6c41 /examples/echo_post/src/toppage_h.erl | |
parent | 8045f7a998f03b8995d30dc14b3308e9a67422bc (diff) | |
download | cowboy-86cb105679ff80214bfc9d979afa27b1eb747307.tar.gz cowboy-86cb105679ff80214bfc9d979afa27b1eb747307.tar.bz2 cowboy-86cb105679ff80214bfc9d979afa27b1eb747307.zip |
Rename handler modules to _h
Diffstat (limited to 'examples/echo_post/src/toppage_h.erl')
-rw-r--r-- | examples/echo_post/src/toppage_h.erl | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/echo_post/src/toppage_h.erl b/examples/echo_post/src/toppage_h.erl new file mode 100644 index 0000000..1c6446a --- /dev/null +++ b/examples/echo_post/src/toppage_h.erl @@ -0,0 +1,29 @@ +%% Feel free to use, reuse and abuse the code in this file. + +%% @doc POST echo handler. +-module(toppage_h). + +-export([init/2]). + +init(Req0, Opts) -> + Method = cowboy_req:method(Req0), + HasBody = cowboy_req:has_body(Req0), + Req = maybe_echo(Method, HasBody, Req0), + {ok, Req, Opts}. + +maybe_echo(<<"POST">>, true, Req0) -> + {ok, PostVals, Req} = cowboy_req:read_urlencoded_body(Req0), + Echo = proplists:get_value(<<"echo">>, PostVals), + echo(Echo, Req); +maybe_echo(<<"POST">>, false, Req) -> + cowboy_req:reply(400, [], <<"Missing body.">>, Req); +maybe_echo(_, _, Req) -> + %% Method not allowed. + cowboy_req:reply(405, Req). + +echo(undefined, Req) -> + cowboy_req:reply(400, [], <<"Missing echo parameter.">>, Req); +echo(Echo, Req) -> + cowboy_req:reply(200, #{ + <<"content-type">> => <<"text/plain; charset=utf-8">> + }, Echo, Req). |