aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--rebar.config2
-rw-r--r--src/cowboy_req.erl12
3 files changed, 6 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index d32ec42..c3d194d 100644
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,7 @@ PLT_APPS = crypto public_key ssl
# Dependencies.
DEPS = cowlib ranch
-dep_cowlib = pkg://cowlib 0.6.0
+dep_cowlib = pkg://cowlib 0.6.1
dep_ranch = pkg://ranch 0.9.0
TEST_DEPS = ct_helper gun
diff --git a/rebar.config b/rebar.config
index f880fa3..249620b 100644
--- a/rebar.config
+++ b/rebar.config
@@ -1,4 +1,4 @@
{deps, [
- {cowlib, ".*", {git, "git://github.com/extend/cowlib.git", "0.6.0"}},
+ {cowlib, ".*", {git, "git://github.com/extend/cowlib.git", "0.6.1"}},
{ranch, ".*", {git, "git://github.com/extend/ranch.git", "0.9.0"}}
]}.
diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl
index b5f7e2e..eec4e88 100644
--- a/src/cowboy_req.erl
+++ b/src/cowboy_req.erl
@@ -100,11 +100,7 @@
-> {ok, binary()}
| {error, atom()}).
-type transfer_decode_fun() :: fun((binary(), any())
- -> {ok, binary(), binary(), any()}
- | more | {more, non_neg_integer(), binary(), any()}
- | {done, non_neg_integer(), binary()}
- | {done, binary(), non_neg_integer(), binary()}
- | {error, atom()}).
+ -> cow_http_te:decode_ret()).
-type resp_body_fun() :: fun((any(), module()) -> ok).
-type send_chunk_fun() :: fun((iodata()) -> ok | {error, atom()}).
@@ -571,13 +567,13 @@ transfer_decode(Data, Req=#http_req{body_state={stream, _,
content_decode(ContentDecode, Data2,
Req#http_req{body_state={stream, 0,
TransferDecode, TransferState2, ContentDecode}});
- {more, Data2, Length, TransferState2} ->
+ {more, Data2, Length, TransferState2} when is_integer(Length) ->
content_decode(ContentDecode, Data2,
Req#http_req{body_state={stream, Length,
TransferDecode, TransferState2, ContentDecode}});
- {more, Data2, Length, Rest, TransferState2} ->
+ {more, Data2, Rest, TransferState2} ->
content_decode(ContentDecode, Data2,
- Req#http_req{buffer=Rest, body_state={stream, Length,
+ Req#http_req{buffer=Rest, body_state={stream, 0,
TransferDecode, TransferState2, ContentDecode}});
{done, Length, Rest} ->
Req2 = transfer_decode_done(Length, Rest, Req),