<testcase> <info> <keywords> HTTP HTTP PUT 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" 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" 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 PUT --digest with 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: 85" -u auser:apasswd --digest -T log/put1285 http://%HOSTIP:%HTTPPORT/1285 </command> <file name="log/put1285"> This is data we upload with PUT a second line line three four is the number of lines </file> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> PUT /1285 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* Content-Length: 0 PUT /1285 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/1285", response="dc185587d5e8391b347eef194c2a3cd6" Accept: */* Content-Length: 85 Expect: 100-continue This is data we upload with PUT a second line line three four is the number of lines </protocol> </verify> </testcase>