aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/handlers/input_crash_h.erl10
-rw-r--r--test/http_SUITE.erl2
2 files changed, 12 insertions, 0 deletions
diff --git a/test/handlers/input_crash_h.erl b/test/handlers/input_crash_h.erl
new file mode 100644
index 0000000..668d053
--- /dev/null
+++ b/test/handlers/input_crash_h.erl
@@ -0,0 +1,10 @@
+%% This module crashes on request input data
+%% depending on the given option.
+
+-module(input_crash_h).
+
+-export([init/3]).
+
+init(_, Req, content_length) ->
+ cowboy_error_h:ignore(cow_http_hd, number, 2),
+ cowboy_req:parse_header(<<"content-length">>, Req).
diff --git a/test/http_SUITE.erl b/test/http_SUITE.erl
index 5888421..e5a9256 100644
--- a/test/http_SUITE.erl
+++ b/test/http_SUITE.erl
@@ -193,6 +193,7 @@ init_dispatch(Config) ->
{"/multipart/large", http_multipart_stream, []},
{"/echo/body", http_echo_body, []},
{"/echo/body_qs", http_body_qs, []},
+ {"/crash/content-length", input_crash_h, content_length},
{"/param_all", rest_param_all, []},
{"/bad_accept", rest_simple_resource, []},
{"/bad_content_type", rest_patch_resource, []},
@@ -274,6 +275,7 @@ The document has moved
{400, "GET / HTTP/1.1\r\nHost: ninenines.eu\r\n\r\n"},
{400, "GET http://proxy/ HTTP/1.1\r\n\r\n"},
{400, "GET / HTTP/1.1\r\nHost: localhost:bad_port\r\n\r\n"},
+ {400, ["POST /crash/content-length HTTP/1.1\r\nHost: localhost\r\nContent-Length: 5000,5000\r\n\r\n", Huge]},
{505, ResponsePacket},
{408, "GET / HTTP/1.1\r\n"},
{408, "GET / HTTP/1.1\r\nHost: localhost"},