<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> <features> crypto </features> # 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: %HOSTIP:%HTTPPORT 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: %HOSTIP:%HTTPPORT Accept: */* Transfer-Encoding: chunked Content-Type: application/x-www-form-urlencoded Expect: 100-continue 3 one 3 two 5 three 1d and a final longer crap: four 0 </protocol> </verify> </testcase>