summaryrefslogtreecommitdiff
path: root/tests/data/test565
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2009-10-30 22:24:48 +0000
committerDaniel Stenberg <daniel@haxx.se>2009-10-30 22:24:48 +0000
commitd68f215f037febf1850ad6a169d4a69bd9d132a1 (patch)
tree1ab2412aa69dd813262a78562504e6d614786f71 /tests/data/test565
parent0a5ac52b494453cd3687b0a424fd068ba8673033 (diff)
downloadcurl-d68f215f037febf1850ad6a169d4a69bd9d132a1.tar.gz
- "Tom" posted a bug report that mentioned how libcurl did wrong when doing a
POST using a read callback, with Digest authentication and "Transfer-Encoding: chunked" enforced. I would then cause the first request to be wrongly sent and then basically hang until the server closed the connection. I fixed the problem and added test case 565 to verify it.
Diffstat (limited to 'tests/data/test565')
-rw-r--r--tests/data/test565104
1 files changed, 104 insertions, 0 deletions
diff --git a/tests/data/test565 b/tests/data/test565
new file mode 100644
index 000000000..896db4061
--- /dev/null
+++ b/tests/data/test565
@@ -0,0 +1,104 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP POST
+HTTP Digest auth
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+<data>
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+</data>
+<data1>
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+</data1>
+<datacheck>
+HTTP/1.1 100 Continue
+Server: Microsoft-IIS/5.0
+Date: Sun, 03 Apr 2005 14:57:45 GMT
+X-Powered-By: ASP.NET
+
+HTTP/1.1 401 authentication please swsbounce
+Server: Microsoft-IIS/6.0
+WWW-Authenticate: Digest realm="testrealm", nonce="1053604144"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 0
+
+HTTP/1.1 200 A OK
+Server: Microsoft-IIS/6.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 3
+
+ok
+</datacheck>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+# tool is what to use instead of 'curl'
+<tool>
+lib565
+</tool>
+
+ <name>
+send HTTP POST using read callback, chunked transfer-encoding and Digest
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/565
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+POST /565 HTTP/1.1
+Host: 127.0.0.1:8990
+Accept: */*
+Transfer-Encoding: chunked
+Content-Type: application/x-www-form-urlencoded
+
+
+0
+
+POST /565 HTTP/1.1
+Authorization: Digest username="foo", realm="testrealm", nonce="1053604144", uri="/565", response="877424f750af047634dbd94f9933217b"
+Host: 127.0.0.1:8990
+Accept: */*
+Transfer-Encoding: chunked
+Content-Type: application/x-www-form-urlencoded
+
+3
+one
+3
+two
+5
+three
+1d
+and a final longer crap: four
+0
+
+</protocol>
+</verify>
+</testcase>