From d54668eb00c31e3eaf6987c5f4184aea98cf227e Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Thu, 7 Apr 2011 14:17:05 +0200 Subject: HTTP pipelining: Fix handling of zero-length responses Also add test case 584 for the same Bug: http://curl.haxx.se/bug/view.cgi?id=3214223 --- tests/data/Makefile.am | 2 +- tests/data/test584 | 102 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 tests/data/test584 (limited to 'tests/data') diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index e75949ffb..066ba5d90 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -71,7 +71,7 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test1203 test1117 test1118 test1119 test1120 test1300 test1301 test1302 \ test1303 test320 test321 test322 test323 test324 test1121 test581 test580 \ test1304 test1305 test1306 test1307 test582 test583 test808 test809 \ - test810 test811 test812 test813 + test810 test811 test812 test813 test584 filecheck: @mkdir test-place; \ diff --git a/tests/data/test584 b/tests/data/test584 new file mode 100644 index 000000000..81d6a083d --- /dev/null +++ b/tests/data/test584 @@ -0,0 +1,102 @@ + + + +HTTP +Pipelining +multi + + + +# Server-side +# Silly division of the first request is solely to appease the server which expects n_data_items == n_requests + + +HTTP/1.1 200 OK +Server: test-server/fake +Content-Length: 4 + +584 + + +HTTP/1.1 200 OK + + +Server: test-server/fake + + +Content-Length: 0 + +HTTP/1.1 200 OK +Server: test-server/fake +Content-Length: 5 + +585 + +HTTP/1.1 200 OK +Server: test-server/fake +Content-Length: 4 + +586 + + + +# Client-side + + +http + + +lib530 + + +HTTP GET using pipelining (nonzero length after zero length) + + +http://%HOSTIP:%HTTPPORT/path/584 + + + +# Verify data after the test has been "shot" + + +GET /path/5840001 HTTP/1.1 +Host: %HOSTIP:%HTTPPORT +Accept: */* + +GET /path/5840002 HTTP/1.1 +Host: %HOSTIP:%HTTPPORT +Accept: */* + +GET /path/5840003 HTTP/1.1 +Host: %HOSTIP:%HTTPPORT +Accept: */* + +GET /path/5840004 HTTP/1.1 +Host: %HOSTIP:%HTTPPORT +Accept: */* + + + +HTTP/1.1 200 OK +Server: test-server/fake +Content-Length: 4 + +584 +HTTP/1.1 200 OK +Server: test-server/fake +Content-Length: 0 + +HTTP/1.1 200 OK +Server: test-server/fake +Content-Length: 5 + +585 + +HTTP/1.1 200 OK +Server: test-server/fake +Content-Length: 4 + +586 + + + -- cgit v1.2.3