|
@@ -645,11 +645,13 @@ frame({pong, Payload}, _) ->
|
|
|
true = Len =< 125,
|
|
|
[<< 1:1, 0:3, 10:4, 0:1, Len:7 >>, Payload];
|
|
|
%% Data frames, deflate-frame extension.
|
|
|
-frame({text, Payload}, #{deflate := Deflate, deflate_takeover := TakeOver}) ->
|
|
|
+frame({text, Payload}, #{deflate := Deflate, deflate_takeover := TakeOver})
|
|
|
+ when Deflate =/= false ->
|
|
|
Payload2 = deflate_frame(Payload, Deflate, TakeOver),
|
|
|
Len = payload_length(Payload2),
|
|
|
[<< 1:1, 1:1, 0:2, 1:4, 0:1, Len/bits >>, Payload2];
|
|
|
-frame({binary, Payload}, #{deflate := Deflate, deflate_takeover := TakeOver}) ->
|
|
|
+frame({binary, Payload}, #{deflate := Deflate, deflate_takeover := TakeOver})
|
|
|
+ when Deflate =/= false ->
|
|
|
Payload2 = deflate_frame(Payload, Deflate, TakeOver),
|
|
|
Len = payload_length(Payload2),
|
|
|
[<< 1:1, 1:1, 0:2, 2:4, 0:1, Len/bits >>, Payload2];
|
|
@@ -691,12 +693,14 @@ masked_frame({pong, Payload}, _) ->
|
|
|
MaskKeyBin = << MaskKey:32 >> = crypto:strong_rand_bytes(4),
|
|
|
[<< 1:1, 0:3, 10:4, 1:1, Len:7 >>, MaskKeyBin, mask(iolist_to_binary(Payload), MaskKey, <<>>)];
|
|
|
%% Data frames, deflate-frame extension.
|
|
|
-masked_frame({text, Payload}, #{deflate := Deflate, deflate_takeover := TakeOver}) ->
|
|
|
+masked_frame({text, Payload}, #{deflate := Deflate, deflate_takeover := TakeOver})
|
|
|
+ when Deflate =/= false ->
|
|
|
MaskKeyBin = << MaskKey:32 >> = crypto:strong_rand_bytes(4),
|
|
|
Payload2 = mask(deflate_frame(Payload, Deflate, TakeOver), MaskKey, <<>>),
|
|
|
Len = payload_length(Payload2),
|
|
|
[<< 1:1, 1:1, 0:2, 1:4, 1:1, Len/bits >>, MaskKeyBin, Payload2];
|
|
|
-masked_frame({binary, Payload}, #{deflate := Deflate, deflate_takeover := TakeOver}) ->
|
|
|
+masked_frame({binary, Payload}, #{deflate := Deflate, deflate_takeover := TakeOver})
|
|
|
+ when Deflate =/= false ->
|
|
|
MaskKeyBin = << MaskKey:32 >> = crypto:strong_rand_bytes(4),
|
|
|
Payload2 = mask(deflate_frame(Payload, Deflate, TakeOver), MaskKey, <<>>),
|
|
|
Len = payload_length(Payload2),
|