From e09a85680540029df22001073f73b77eec67773d Mon Sep 17 00:00:00 2001 From: Cameron Bytheway Date: Fri, 24 Jun 2016 19:34:11 -0600 Subject: send resp_headers with websocket responses --- src/cowboy_websocket.erl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/cowboy_websocket.erl b/src/cowboy_websocket.erl index 757f52c..b8ec2e1 100644 --- a/src/cowboy_websocket.erl +++ b/src/cowboy_websocket.erl @@ -152,12 +152,13 @@ websocket_handshake(State=#state{key=Key}, Req=#{pid := Pid, streamid := StreamID}, HandlerState, Env) -> Challenge = base64:encode(crypto:hash(sha, << Key/binary, "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" >>)), - Headers = #{ + RespHeaders = maps:get(resp_headers, Req, #{}), + Headers = maps:merge(RespHeaders, #{ %% @todo Hmm should those be here or in cowboy_http? <<"connection">> => <<"Upgrade">>, <<"upgrade">> => <<"websocket">>, <<"sec-websocket-accept">> => Challenge - }, + }), Pid ! {{Pid, StreamID}, {switch_protocol, Headers, ?MODULE, {Req, State, HandlerState}}}, {ok, Req, Env}. -- cgit v1.2.3