aboutsummaryrefslogtreecommitdiffstats
path: root/examples/cookie/src/toppage_handler.erl
blob: e795cf8476a8a8d01d5fa0fb81b85f6f3498a5db (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%% Feel free to use, reuse and abuse the code in this file.

%% @doc Cookie handler.
-module(toppage_handler).

-export([init/2]).

init(Req, Opts) ->
	NewValue = integer_to_list(rand:uniform(1000000)),
	Req2 = cowboy_req:set_resp_cookie(
		<<"server">>, NewValue, [{path, <<"/">>}], Req),
	#{client := ClientCookie, server := ServerCookie}
		= cowboy_req:match_cookies([{client, [], <<>>}, {server, [], <<>>}], Req2),
	{ok, Body} = toppage_dtl:render([
		{client, ClientCookie},
		{server, ServerCookie}
	]),
	cowboy_req:reply(200, #{
		<<"content-type">> => <<"text/html">>
	}, Body, Req2),
	{ok, Req2, Opts}.