From cd54214deff03d5ed4a487f9976c3db14f579961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sat, 15 Sep 2012 21:18:53 +0200 Subject: Avoid a duplicate HTTP reply in cowboy_websocket:upgrade_error/1 Do this by checking whether we received the resp_sent message. --- src/cowboy_websocket.erl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/cowboy_websocket.erl') diff --git a/src/cowboy_websocket.erl b/src/cowboy_websocket.erl index 4d77b73..04082e1 100644 --- a/src/cowboy_websocket.erl +++ b/src/cowboy_websocket.erl @@ -140,9 +140,12 @@ handler_init(State=#state{transport=Transport, handler=Handler, opts=Opts}, -spec upgrade_error(cowboy_req:req()) -> closed. upgrade_error(Req) -> - {ok, _Req2} = cowboy_req:reply(400, [], [], - Req#http_req{resp_state=waiting}), - closed. + receive + {cowboy_req, resp_sent} -> closed + after 0 -> + _ = cowboy_req:reply(400, [], [], Req), + closed + end. %% @see cowboy_protocol:ensure_response/1 -spec upgrade_denied(cowboy_req:req()) -> closed. -- cgit v1.2.3