From 0724dbf536c22fc978ba0bc96052c65f0edafa69 Mon Sep 17 00:00:00 2001 From: Benedikt Reinartz Date: Mon, 5 Jul 2021 11:53:35 +0200 Subject: Add tests for the SSE handler --- test/handlers/sse_clock_close_h.erl | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 test/handlers/sse_clock_close_h.erl (limited to 'test/handlers/sse_clock_close_h.erl') diff --git a/test/handlers/sse_clock_close_h.erl b/test/handlers/sse_clock_close_h.erl new file mode 100644 index 0000000..c5911ff --- /dev/null +++ b/test/handlers/sse_clock_close_h.erl @@ -0,0 +1,23 @@ +%% This module implements a loop handler that sends +%% the current time every second using SSE. In contrast +%% to sse_clock_h, this one sends a "Connection: close" +%% header. + +-module(sse_clock_close_h). + +-export([init/2]). +-export([info/3]). + +init(Req, State) -> + self() ! timeout, + {cowboy_loop, cowboy_req:stream_reply(200, #{ + <<"content-type">> => <<"text/event-stream">>, + <<"connection">> => <<"close">> + }, Req), State}. + +info(timeout, Req, State) -> + erlang:send_after(1000, self(), timeout), + cowboy_req:stream_events(#{ + data => cowboy_clock:rfc1123() + }, nofin, Req), + {ok, Req, State}. -- cgit v1.2.3