diff options
author | Cameron Bytheway <[email protected]> | 2016-06-24 19:34:11 -0600 |
---|---|---|
committer | Cameron Bytheway <[email protected]> | 2016-06-27 11:33:25 -0600 |
commit | e09a85680540029df22001073f73b77eec67773d (patch) | |
tree | 22b1d17a0e3a5de912590de4e6d91d73f9060e1c /src | |
parent | 0ba3a9a22269d21b2962fec78c03e5671294d20d (diff) | |
download | cowboy-e09a85680540029df22001073f73b77eec67773d.tar.gz cowboy-e09a85680540029df22001073f73b77eec67773d.tar.bz2 cowboy-e09a85680540029df22001073f73b77eec67773d.zip |
send resp_headers with websocket responses
Diffstat (limited to 'src')
-rw-r--r-- | src/cowboy_websocket.erl | 5 |
1 files changed, 3 insertions, 2 deletions
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}. |