mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00

We now flush messages that are specific to cowboy_http only. Stream handlers should also flush their own specific messages if necessary, although timeouts will be flushed regardless of where they originate from. Also renames the http_SUITE to old_http_SUITE to distinguish new tests from old tests. Most old tests need to be removed or converted eventually as they're legacy tests from Cowboy 1.0.
21 lines
561 B
Erlang
21 lines
561 B
Erlang
%% Feel free to use, reuse and abuse the code in this file.
|
|
|
|
-module(http_echo_body).
|
|
|
|
-export([init/2]).
|
|
|
|
init(Req, Opts) ->
|
|
true = cowboy_req:has_body(Req),
|
|
Req3 = case cowboy_req:read_body(Req, #{length => 1000000}) of
|
|
{ok, Body, Req2} -> handle_body(Req2, Body);
|
|
{more, _, Req2} -> handle_badlength(Req2)
|
|
end,
|
|
{ok, Req3, Opts}.
|
|
|
|
handle_badlength(Req) ->
|
|
cowboy_req:reply(413, #{}, <<"Request entity too large">>, Req).
|
|
|
|
handle_body(Req, Body) ->
|
|
Size = cowboy_req:body_length(Req),
|
|
Size = byte_size(Body),
|
|
cowboy_req:reply(200, #{}, Body, Req).
|