aboutsummaryrefslogtreecommitdiffstats
path: root/test/http_SUITE_data/http_streamed.erl
diff options
context:
space:
mode:
authorAdrian Roe <[email protected]>2013-06-26 18:04:20 +0100
committerLoïc Hoguin <[email protected]>2013-11-08 21:56:37 +0100
commitc2e946708e479d647a81afc8d8f59992f92c6a95 (patch)
treeacfdd8cae6aa88597a11e085e59647967f1045b5 /test/http_SUITE_data/http_streamed.erl
parent9d2096cd35c05ac43fa34ebe4ac31c9265d263cb (diff)
downloadcowboy-c2e946708e479d647a81afc8d8f59992f92c6a95.tar.gz
cowboy-c2e946708e479d647a81afc8d8f59992f92c6a95.tar.bz2
cowboy-c2e946708e479d647a81afc8d8f59992f92c6a95.zip
Add a workaround to disable chunked transfer-encoding
This is an undocumented workaround to disable chunks when using HTTP/1.1. It can be used when the client advertises itself as HTTP/1.1 despite not understanding the chunked transfer-encoding. Usage can be found looking at the test for it. When activated, Cowboy will still advertise itself as HTTP/1.1, but will send the body the same way it would if it was HTTP/1.0.
Diffstat (limited to 'test/http_SUITE_data/http_streamed.erl')
-rw-r--r--test/http_SUITE_data/http_streamed.erl20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/http_SUITE_data/http_streamed.erl b/test/http_SUITE_data/http_streamed.erl
new file mode 100644
index 0000000..674cc40
--- /dev/null
+++ b/test/http_SUITE_data/http_streamed.erl
@@ -0,0 +1,20 @@
+%% Feel free to use, reuse and abuse the code in this file.
+
+-module(http_streamed).
+-behaviour(cowboy_http_handler).
+-export([init/3, handle/2, terminate/3]).
+
+init({_Transport, http}, Req, _Opts) ->
+ {ok, Req, undefined}.
+
+handle(Req, State) ->
+ Req2 = cowboy_req:set([{resp_state, waiting_stream}], Req),
+ {ok, Req3} = cowboy_req:chunked_reply(200, Req2),
+ timer:sleep(100),
+ cowboy_req:chunk("streamed_handler\r\n", Req3),
+ timer:sleep(100),
+ cowboy_req:chunk("works fine!", Req3),
+ {ok, Req3, State}.
+
+terminate(_, _, _) ->
+ ok.