diff options
author | Ingela Anderton Andin <[email protected]> | 2017-10-12 11:55:30 +0200 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2017-10-25 10:40:23 +0200 |
commit | 15f71894d82af204eb10589339c3180579e55e20 (patch) | |
tree | 96a5208079ba7cf58907ab7ba5f0374d76d99868 /lib/inets/test | |
parent | 016c090de0ac94de4c359536d3232555379755ba (diff) | |
download | otp-15f71894d82af204eb10589339c3180579e55e20.tar.gz otp-15f71894d82af204eb10589339c3180579e55e20.tar.bz2 otp-15f71894d82af204eb10589339c3180579e55e20.zip |
inets: httpd - Fix broken handling of POST requests
New chunk mechanism of body data in POST requests added in
5d01c70ca399edf28e99dc760506329689fab6ba
broke handling of POST body data not using the new mechanism.
Added better regression test
Diffstat (limited to 'lib/inets/test')
-rw-r--r-- | lib/inets/test/httpd_SUITE.erl | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/inets/test/httpd_SUITE.erl b/lib/inets/test/httpd_SUITE.erl index 6c8728470b..0c649d9abf 100644 --- a/lib/inets/test/httpd_SUITE.erl +++ b/lib/inets/test/httpd_SUITE.erl @@ -129,7 +129,7 @@ groups() -> {http_1_1, [], [host, chunked, expect, cgi, cgi_chunked_encoding_test, trace, range, if_modified_since, mod_esi_chunk_timeout, - esi_put] ++ http_head() ++ http_get() ++ load()}, + esi_put, esi_post] ++ http_head() ++ http_get() ++ load()}, {http_1_0, [], [host, cgi, trace] ++ http_head() ++ http_get() ++ load()}, {http_0_9, [], http_head() ++ http_get() ++ load()} ]. @@ -932,7 +932,20 @@ esi_put() -> esi_put(Config) when is_list(Config) -> ok = http_status("PUT /cgi-bin/erl/httpd_example/put/123342234123 ", Config, [{statuscode, 200}]). - +%%------------------------------------------------------------------------- +esi_post() -> + [{doc, "Test mod_esi POST"}]. + +esi_post(Config) when is_list(Config) -> + Chunk = "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ", + Data = lists:duplicate(10000, Chunk), + Length = lists:flatlength(Data), + ok = http_status("POST /cgi-bin/erl/httpd_example/post ", + {"Content-Length:" ++ integer_to_list(Length) ++ "\r\n", + Data}, + [{http_version, "HTTP/1.1"} |Config], + [{statuscode, 200}]). + %%------------------------------------------------------------------------- mod_esi_chunk_timeout(Config) when is_list(Config) -> ok = httpd_1_1:mod_esi_chunk_timeout(proplists:get_value(type, Config), |