summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMariano Guerra <[email protected]>2015-12-22 17:02:35 +0000
committerMariano Guerra <[email protected]>2015-12-22 17:02:35 +0000
commita56f819f21dbafdb6ffa41d60a22fb42f4645cd2 (patch)
treeec8ab247ce57e8643545218d63ce3db2d5bb0c17
parent8053fc227728de2e09242d3931ecd9c3d4e7348b (diff)
parentd281df8603db9b50e003e701d378253bd67c8dbf (diff)
downloadbullet-a56f819f21dbafdb6ffa41d60a22fb42f4645cd2.tar.gz
bullet-a56f819f21dbafdb6ffa41d60a22fb42f4645cd2.tar.bz2
bullet-a56f819f21dbafdb6ffa41d60a22fb42f4645cd2.zip
Merge branch 'sse-shutdown-on-info' into issues-77-and-81
-rw-r--r--src/bullet_handler.erl9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/bullet_handler.erl b/src/bullet_handler.erl
index ee7b484..92e16c7 100644
--- a/src/bullet_handler.erl
+++ b/src/bullet_handler.erl
@@ -107,6 +107,10 @@ info(Message, Req,
case Handler:info(Message, Req, HandlerState) of
{ok, Req2, HandlerState2} ->
{loop, Req2, State#state{handler_state=HandlerState2}, hibernate};
+ {shutdown, Req2, HandlerState2} ->
+ State2 = State#state{handler_state=HandlerState2},
+ {ok, Req3} = shutdown_get_mode(GetMode, Req2),
+ {ok, Req3, State2};
{reply, Data, Req2, HandlerState2} ->
State2 = State#state{handler_state=HandlerState2},
case reply_get_mode(GetMode, Data, Req2) of
@@ -192,6 +196,11 @@ start_get_mode(eventsource, Req) ->
Headers = [{<<"content-type">>, <<"text/event-stream">>}],
{ok, _} = cowboy_req:chunked_reply(200, Headers, Req).
+shutdown_get_mode(poll, Req) ->
+ cowboy_req:reply(204, [], <<"">>, Req);
+shutdown_get_mode(eventsource, Req) ->
+ {ok, Req}.
+
reply_get_mode(poll, Data, Req) ->
{ok, _} = cowboy_req:reply(200, [], Data, Req);
reply_get_mode(eventsource, Data, Req) ->