<testcase> <info> <keywords> HTTP HTTP POST HTTP Digest auth </keywords> </info> # Server-side <reply> <data> HTTP/1.1 401 authentication please swsbounce Server: Microsoft-IIS/6.0 WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256" Content-Type: text/html; charset=iso-8859-1 Content-Length: 0 </data> <data1000> HTTP/1.1 200 A OK Server: Microsoft-IIS/6.0 Content-Type: text/html; charset=iso-8859-1 Content-Length: 3 ok </data1000> <datacheck> HTTP/1.1 401 authentication please swsbounce Server: Microsoft-IIS/6.0 WWW-Authenticate: Digest realm="testrealm", nonce="1053604144", algorithm="SHA-256" 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> !SSPI crypto </features> <name> HTTP POST --digest with SHA256 and user-specified Content-Length header </name> # This test is to ensure 'Content-Length: 0' is sent while negotiating auth # even when there is a user-specified Content-Length header. # https://github.com/curl/curl/pull/1242 <command> -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://%HOSTIP:%HTTPPORT/2067 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol nonewline="yes"> POST /2067 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* Content-Length: 0 Content-Type: application/x-www-form-urlencoded POST /2067 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/2067", response="67b97af219c92fa7e8685e5bebb8e74892f6c6792e911c52bd2dfbf0b49272eb", algorithm="SHA-256" Accept: */* Content-Length: 11 Content-Type: application/x-www-form-urlencoded junkelijunk </protocol> </verify> </testcase>