diff options
author | Loïc Hoguin <[email protected]> | 2012-07-22 04:46:05 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2012-07-22 05:09:56 +0200 |
commit | f212cafad20c498c927c85a39881a5b771727826 (patch) | |
tree | b5ef502a21c245594faa45eefe759a0cd1331ef0 /examples/rest_hello_world/src/toppage_handler.erl | |
parent | 6ea32d605d45971b54a20b181600a94ff1e0592d (diff) | |
download | cowboy-f212cafad20c498c927c85a39881a5b771727826.tar.gz cowboy-f212cafad20c498c927c85a39881a5b771727826.tar.bz2 cowboy-f212cafad20c498c927c85a39881a5b771727826.zip |
Add a REST Hello World example
Diffstat (limited to 'examples/rest_hello_world/src/toppage_handler.erl')
-rw-r--r-- | examples/rest_hello_world/src/toppage_handler.erl | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/examples/rest_hello_world/src/toppage_handler.erl b/examples/rest_hello_world/src/toppage_handler.erl new file mode 100644 index 0000000..8ee1904 --- /dev/null +++ b/examples/rest_hello_world/src/toppage_handler.erl @@ -0,0 +1,39 @@ +%% Feel free to use, reuse and abuse the code in this file. + +%% @doc Hello world handler. +-module(toppage_handler). + +-export([init/3]). +-export([content_types_provided/2]). +-export([hello_to_html/2]). +-export([hello_to_json/2]). +-export([hello_to_text/2]). + +init(_Transport, _Req, []) -> + {upgrade, protocol, cowboy_http_rest}. + +content_types_provided(Req, State) -> + {[ + {<<"text/html">>, hello_to_html}, + {<<"application/json">>, hello_to_json}, + {<<"text/plain">>, hello_to_text} + ], Req, State}. + +hello_to_html(Req, State) -> + Body = <<"<html> +<head> + <meta charset=\"utf-8\"> + <title>REST Hello World!</title> +</head> +<body> + <p>REST Hello World as HTML!</p> +</body> +</html>">>, + {Body, Req, State}. + +hello_to_json(Req, State) -> + Body = <<"{\"rest\": \"Hello World!\"}">>, + {Body, Req, State}. + +hello_to_text(Req, State) -> + {<<"REST Hello World as text!">>, Req, State}. |