1 <testcase> 2 <info> 3 <keywords> 4 HTTP 5 HTTP POST 6 HTTP Digest auth 7 </keywords> 8 </info> 9 # 10 # Server-side 11 <reply> 12 <data> 13 HTTP/1.1 100 Continue 14 Server: Microsoft-IIS/5.0 15 Date: Sun, 03 Apr 2005 14:57:45 GMT 16 X-Powered-By: ASP.NET 17 18 HTTP/1.1 401 authentication please swsbounce 19 Server: Microsoft-IIS/6.0 20 WWW-Authenticate: Digest realm="testrealm", nonce="1053604144" 21 Content-Type: text/html; charset=iso-8859-1 22 Content-Length: 0 23 24 </data> 25 <data1> 26 HTTP/1.1 200 A OK 27 Server: Microsoft-IIS/6.0 28 Content-Type: text/html; charset=iso-8859-1 29 Content-Length: 3 30 31 ok 32 </data1> 33 <datacheck> 34 HTTP/1.1 100 Continue 35 Server: Microsoft-IIS/5.0 36 Date: Sun, 03 Apr 2005 14:57:45 GMT 37 X-Powered-By: ASP.NET 38 39 HTTP/1.1 401 authentication please swsbounce 40 Server: Microsoft-IIS/6.0 41 WWW-Authenticate: Digest realm="testrealm", nonce="1053604144" 42 Content-Type: text/html; charset=iso-8859-1 43 Content-Length: 0 44 45 HTTP/1.1 200 A OK 46 Server: Microsoft-IIS/6.0 47 Content-Type: text/html; charset=iso-8859-1 48 Content-Length: 3 49 50 ok 51 </datacheck> 52 </reply> 53 54 # Client-side 55 <client> 56 <server> 57 http 58 </server> 59 <features> 60 !SSPI 61 crypto 62 </features> 63 # tool is what to use instead of 'curl' 64 <tool> 65 lib565 66 </tool> 67 68 <name> 69 send HTTP POST using read callback, chunked transfer-encoding and Digest 70 </name> 71 <command> 72 http://%HOSTIP:%HTTPPORT/565 73 </command> 74 </client> 75 76 # 77 # Verify data after the test has been "shot" 78 <verify> 79 <protocol> 80 POST /565 HTTP/1.1 81 Host: %HOSTIP:%HTTPPORT 82 Accept: */* 83 Transfer-Encoding: chunked 84 Content-Type: application/x-www-form-urlencoded 85 86 0 87 88 POST /565 HTTP/1.1 89 Host: %HOSTIP:%HTTPPORT 90 Authorization: Digest username="foo", realm="testrealm", nonce="1053604144", uri="/565", response="877424f750af047634dbd94f9933217b" 91 Accept: */* 92 Transfer-Encoding: chunked 93 Content-Type: application/x-www-form-urlencoded 94 Expect: 100-continue 95 96 3 97 one 98 3 99 two 100 5 101 three 102 1d 103 and a final longer crap: four 104 0 105 106 </protocol> 107 </verify> 108 </testcase> 109