mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-16 05:00:24 +00:00
40 lines
881 B
Erlang
40 lines
881 B
Erlang
![]() |
%% 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}.
|