Blame erlang-cowlib-0002-WS-accepts-iodata-so-byte_size-won-t-work-unless-we-.patch

adeb5bb
From: Rob Ashton <robashton@codeofrob.com>
adeb5bb
Date: Thu, 9 Apr 2015 18:01:38 +0100
adeb5bb
Subject: [PATCH] WS accepts iodata, so byte_size won't work unless we flatten
adeb5bb
adeb5bb
adeb5bb
diff --git a/src/cow_ws.erl b/src/cow_ws.erl
adeb5bb
index c89c17a..c025b38 100644
adeb5bb
--- a/src/cow_ws.erl
adeb5bb
+++ b/src/cow_ws.erl
adeb5bb
@@ -580,7 +580,7 @@ masked_frame({binary, Payload}, _) ->
adeb5bb
 	[<< 1:1, 0:3, 2:4, 1:1, Len/bits >>, MaskKeyBin, mask(iolist_to_binary(Payload), MaskKey, <<>>)].
adeb5bb
 
adeb5bb
 payload_length(Payload) ->
adeb5bb
-	case byte_size(Payload) of
adeb5bb
+	case iolist_size(Payload) of
adeb5bb
 		N when N =< 125 -> << N:7 >>;
adeb5bb
 		N when N =< 16#ffff -> << 126:7, N:16 >>;
adeb5bb
 		N when N =< 16#7fffffffffffffff -> << 127:7, N:64 >>