aboutsummaryrefslogtreecommitdiffstats
path: root/src/cowboy_websocket.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2014-10-03 18:25:29 +0300
committerLoïc Hoguin <[email protected]>2014-10-03 18:25:29 +0300
commitbee5ca852b1a8e1506872aeea57f6c745c8add77 (patch)
tree00f65257b5ba7e4688dceb46ecce99f2f5f898a6 /src/cowboy_websocket.erl
parent8e17d492b377cbf2eaf0d191b1e8636ea06c806a (diff)
downloadcowboy-bee5ca852b1a8e1506872aeea57f6c745c8add77.tar.gz
cowboy-bee5ca852b1a8e1506872aeea57f6c745c8add77.tar.bz2
cowboy-bee5ca852b1a8e1506872aeea57f6c745c8add77.zip
Replace some /binary to /bits in binary pattern matching
We don't need the extra check for multiple of 8 bits.
Diffstat (limited to 'src/cowboy_websocket.erl')
-rw-r--r--src/cowboy_websocket.erl4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cowboy_websocket.erl b/src/cowboy_websocket.erl
index c700af9..cdd0365 100644
--- a/src/cowboy_websocket.erl
+++ b/src/cowboy_websocket.erl
@@ -269,7 +269,7 @@ websocket_data(State, Req, HandlerState, << Fin:1, Rsv:3/bits, Opcode:4, 1:1,
websocket_data(State, Req, HandlerState,
Opcode, Len, MaskKey, Rest, Rsv, Fin);
%% When payload length is over 63 bits, the most significant bit MUST be 0.
-websocket_data(State, Req, HandlerState, << _:8, 1:1, 127:7, 1:1, _:7, _/binary >>) ->
+websocket_data(State, Req, HandlerState, << _:8, 1:1, 127:7, 1:1, _:7, _/bits >>) ->
websocket_close(State, Req, HandlerState, {error, badframe});
%% All frames sent from the client to the server are masked.
websocket_data(State, Req, HandlerState, << _:8, 0:1, _/bits >>) ->
@@ -466,7 +466,7 @@ rotate_mask_key(MaskKey, UnmaskedLen) ->
-spec is_utf8(binary()) -> false | binary().
is_utf8(Valid = <<>>) ->
Valid;
-is_utf8(<< _/utf8, Rest/binary >>) ->
+is_utf8(<< _/utf8, Rest/bits >>) ->
is_utf8(Rest);
%% 2 bytes. Codepages C0 and C1 are invalid; fail early.
is_utf8(<< 2#1100000:7, _/bits >>) ->