test1285 (1969B)
1 <testcase> 2 <info> 3 <keywords> 4 HTTP 5 HTTP PUT 6 HTTP Digest auth 7 </keywords> 8 </info> 9 10 # Server-side 11 <reply> 12 <data> 13 HTTP/1.1 401 authentication please 14 Server: Microsoft-IIS/6.0 15 WWW-Authenticate: Digest realm="testrealm", nonce="1053604144" 16 Content-Type: text/html; charset=iso-8859-1 17 Content-Length: 0 18 19 </data> 20 <data1000> 21 HTTP/1.1 200 A OK 22 Server: Microsoft-IIS/6.0 23 Content-Type: text/html; charset=iso-8859-1 24 Content-Length: 3 25 26 ok 27 </data1000> 28 29 <datacheck> 30 HTTP/1.1 401 authentication please 31 Server: Microsoft-IIS/6.0 32 WWW-Authenticate: Digest realm="testrealm", nonce="1053604144" 33 Content-Type: text/html; charset=iso-8859-1 34 Content-Length: 0 35 36 HTTP/1.1 200 A OK 37 Server: Microsoft-IIS/6.0 38 Content-Type: text/html; charset=iso-8859-1 39 Content-Length: 3 40 41 ok 42 </datacheck> 43 44 </reply> 45 46 # Client-side 47 <client> 48 # 49 <server> 50 http 51 </server> 52 <features> 53 !SSPI 54 crypto 55 digest 56 </features> 57 <name> 58 HTTP PUT --digest with user-specified Content-Length header 59 </name> 60 # This test is to ensure 'Content-Length: 0' is sent while negotiating auth 61 # even when there is a user-specified Content-Length header. 62 # https://github.com/curl/curl/pull/1242 63 <command> 64 -H "Content-Length: 85" -u auser:apasswd --digest -T %LOGDIR/put%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER 65 </command> 66 <file name="%LOGDIR/put%TESTNUMBER"> 67 This is data we upload with PUT 68 a second line 69 line three 70 four is the number of lines 71 </file> 72 </client> 73 74 # Verify data after the test has been "shot" 75 <verify> 76 <protocol> 77 PUT /%TESTNUMBER HTTP/1.1 78 Host: %HOSTIP:%HTTPPORT 79 User-Agent: curl/%VERSION 80 Accept: */* 81 Content-Length: 0 82 83 PUT /%TESTNUMBER HTTP/1.1 84 Host: %HOSTIP:%HTTPPORT 85 Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/%TESTNUMBER", response="dc185587d5e8391b347eef194c2a3cd6" 86 User-Agent: curl/%VERSION 87 Accept: */* 88 Content-Length: 85 89 90 This is data we upload with PUT 91 a second line 92 line three 93 four is the number of lines 94 </protocol> 95 </verify> 96 </testcase>