|
@@ -19,6 +19,10 @@
|
|
|
-module(cowboy_websocket).
|
|
|
-behaviour(cowboy_sub_protocol).
|
|
|
|
|
|
+%% Ignore the deprecation warning for crypto:sha/1.
|
|
|
+%% @todo Remove when we support only R16B+.
|
|
|
+-compile({nowarn_deprecated_function, {crypto, sha, 1}}).
|
|
|
+
|
|
|
%% API.
|
|
|
-export([upgrade/4]).
|
|
|
|
|
@@ -176,6 +180,7 @@ upgrade_error(Req, Env) ->
|
|
|
websocket_handshake(State=#state{
|
|
|
transport=Transport, key=Key, deflate_frame=DeflateFrame},
|
|
|
Req, HandlerState) ->
|
|
|
+ %% @todo Change into crypto:hash/2 for R17B+ or when supporting only R16B+.
|
|
|
Challenge = base64:encode(crypto:sha(
|
|
|
<< Key/binary, "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" >>)),
|
|
|
Extensions = case DeflateFrame of
|