aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cowboy_req.erl20
1 files changed, 4 insertions, 16 deletions
diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl
index da9d2c0..4a9e1a7 100644
--- a/src/cowboy_req.erl
+++ b/src/cowboy_req.erl
@@ -81,7 +81,6 @@
-export([stream_body/1]).
-export([skip_body/1]).
-export([body/1]).
--export([body/2]).
-export([body_qs/1]).
-export([multipart_data/1]).
-export([multipart_skip/1]).
@@ -698,25 +697,14 @@ content_decode(ContentDecode, Data, Req) ->
%% @doc Return the full body sent with the request.
-spec body(Req) -> {ok, binary(), Req} | {error, atom()} when Req::req().
body(Req) ->
- read_body(infinity, Req, <<>>).
+ body(Req, <<>>).
-%% @doc Return the full body sent with the request as long as the body
-%% length doesn't go over MaxLength.
-%%
-%% This is most useful to quickly be able to get the full body while
-%% avoiding filling your memory with huge request bodies when you're
-%% not expecting it.
--spec body(non_neg_integer() | infinity, Req)
- -> {ok, binary(), Req} | {error, atom()} when Req::req().
-body(MaxLength, Req) ->
- read_body(MaxLength, Req, <<>>).
-
--spec read_body(non_neg_integer() | infinity, Req, binary())
+-spec body(Req, binary())
-> {ok, binary(), Req} | {error, atom()} when Req::req().
-read_body(MaxLength, Req, Acc) when MaxLength > byte_size(Acc) ->
+body(Req, Acc) ->
case stream_body(Req) of
{ok, Data, Req2} ->
- read_body(MaxLength, Req2, << Acc/binary, Data/binary >>);
+ body(Req2, << Acc/binary, Data/binary >>);
{done, Req2} ->
{ok, Acc, Req2};
{error, Reason} ->