diff options
author | Loïc Hoguin <[email protected]> | 2018-01-24 11:44:03 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2018-01-24 11:44:03 +0100 |
commit | 819a47a220dcee309093721ea3c28e20ebfe246a (patch) | |
tree | e267f884b0b063878ccc8a730fe6eb744c50bd83 /src/cowboy_iolists.erl | |
parent | d329ca4b6041c6d47db3f64ce1cd2d1a343c4f5a (diff) | |
download | cowboy-819a47a220dcee309093721ea3c28e20ebfe246a.tar.gz cowboy-819a47a220dcee309093721ea3c28e20ebfe246a.tar.bz2 cowboy-819a47a220dcee309093721ea3c28e20ebfe246a.zip |
Fix sending HTTP/2 bodies as iolists out of order
Diffstat (limited to 'src/cowboy_iolists.erl')
-rw-r--r-- | src/cowboy_iolists.erl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cowboy_iolists.erl b/src/cowboy_iolists.erl index d04d0ae..a49e7ed 100644 --- a/src/cowboy_iolists.erl +++ b/src/cowboy_iolists.erl @@ -51,7 +51,7 @@ split(N, [List|Tail], Acc0) -> IolistSize = iolist_size(Before), if IolistSize < N -> - split(N - IolistSize, [After|Tail], Before); + split(N - IolistSize, [After|Tail], lists:reverse(Before)); true -> {ok, Before, [After|Tail]} end; @@ -71,7 +71,8 @@ split_test_() -> {10, <<"Hello!">>, "Hello!", ""}, {10, ["He", [<<"ll">>], $o, [["!"]]], "Hello!", ""}, {10, ["Hel"|<<"lo!">>], "Hello!", ""}, - {10, [[<<>>|<<>>], [], <<"Hello world!">>], "Hello worl", "d!"} + {10, [[<<>>|<<>>], [], <<"Hello world!">>], "Hello worl", "d!"}, + {10, [[<<"He">>|<<"llo">>], [$\s], <<"world!">>], "Hello worl", "d!"} ], [{iolist_to_binary(V), fun() -> {B, A} = split(N, V), |