Browse Source

Fix cookie example

Loïc Hoguin 9 years ago
parent
commit
84fb85e2e4

+ 3 - 3
examples/cookie/src/cookie_app.erl

@@ -16,9 +16,9 @@ start(_Type, _Args) ->
 			{'_', toppage_handler, []}
 		]}
 	]),
-	{ok, _} = cowboy:start_http(http, 100, [{port, 8080}], [
-		{env, [{dispatch, Dispatch}]}
-	]),
+	{ok, _} = cowboy:start_clear(http, 100, [{port, 8080}], #{
+		env => #{dispatch => Dispatch}
+	}),
 	cookie_sup:start_link().
 
 stop(_State) ->

+ 5 - 5
examples/cookie/src/toppage_handler.erl

@@ -6,7 +6,7 @@
 -export([init/2]).
 
 init(Req, Opts) ->
-	NewValue = integer_to_list(random:uniform(1000000)),
+	NewValue = integer_to_list(rand:uniform(1000000)),
 	Req2 = cowboy_req:set_resp_cookie(
 		<<"server">>, NewValue, [{path, <<"/">>}], Req),
 	#{client := ClientCookie, server := ServerCookie}
@@ -15,7 +15,7 @@ init(Req, Opts) ->
 		{client, ClientCookie},
 		{server, ServerCookie}
 	]),
-	Req3 = cowboy_req:reply(200,
-		[{<<"content-type">>, <<"text/html">>}],
-		Body, Req2),
-	{ok, Req3, Opts}.
+	cowboy_req:reply(200, #{
+		<<"content-type">> => <<"text/html">>
+	}, Body, Req2),
+	{ok, Req2, Opts}.

+ 18 - 0
test/examples_SUITE.erl

@@ -135,6 +135,24 @@ do_chunked_hello_world(Transport, Protocol, Config) ->
 			ok
 	end.
 
+%% Cookie.
+
+cookie(Config) ->
+	doc("Cookie example."),
+	try
+		do_compile_and_start(cookie),
+		do_cookie(tcp, http, Config),
+		do_cookie(tcp, http2, Config)
+	after
+		do_stop(cookie)
+	end.
+
+do_cookie(Transport, Protocol, Config) ->
+	{200, _, One} = do_get(Transport, Protocol, "/", Config),
+	{200, _, Two} = do_get(Transport, Protocol, "/", [{<<"cookie">>, <<"server=abcdef">>}], Config),
+	true = One =/= Two,
+	ok.
+
 %% Echo GET.
 
 echo_get(Config) ->