1 <testcase> 2 # Authorization is used to force curl to realize that the server is 3 # speaking HTTP 1.0. The request is impossible to satisfy with HTTP 1.0 4 # because chunked encoding is unavailable, so the request must fail. 5 <info> 6 <keywords> 7 HTTP 8 HTTP PUT 9 HTTP Digest auth 10 --anyauth 11 HTTP/1.0 12 chunked Transfer-Encoding 13 </keywords> 14 </info> 15 16 # Server-side 17 <reply> 18 <data> 19 HTTP/1.0 401 Authorization Required swsclose 20 Server: testcurl 21 WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 22 WWW-Authenticate: Basic realm="gimme all yer s3cr3ts" 23 WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344" 24 Content-Type: text/plain 25 Content-Length: 0 26 Connection: close 27 28 </data> 29 </reply> 30 31 # Client-side 32 <client> 33 <server> 34 http 35 </server> 36 <features> 37 crypto 38 </features> 39 <name> 40 HTTP chunked PUT to HTTP 1.0 server with authorization 41 </name> 42 <command> 43 http://%HOSTIP:%HTTPPORT/1072 -T - -u testuser:testpass --anyauth 44 </command> 45 <stdin> 46 This is data we upload with PUT 47 it comes from stdin so MUST be sent 48 with chunked encoding 49 which is impossible in HTTP/1.0 50 </stdin> 51 </client> 52 53 # Verify data after the test has been "shot" 54 <verify> 55 <errorcode> 56 25 57 </errorcode> 58 <strip> 59 ^User-Agent:.* 60 </strip> 61 <protocol> 62 PUT /1072 HTTP/1.1 63 Host: %HOSTIP:%HTTPPORT 64 Accept: */* 65 Transfer-Encoding: chunked 66 Expect: 100-continue 67 68 7a 69 This is data we upload with PUT 70 it comes from stdin so MUST be sent 71 with chunked encoding 72 which is impossible in HTTP/1.0 73 74 0 75 76 </protocol> 77 </verify> 78 </testcase> 79