1<testcase> 2<info> 3<keywords> 4HTTP 5HTTP PUT 6HTTP Basic auth 7--anyauth 8</keywords> 9</info> 10 11# Server-side 12<reply> 13# The test server provides no way to respond differently to a subsequent 14# Basic authenticated request (we really want to respond with 200 for 15# the second), so just respond with 401 for both and let curl deal with it. 16<data> 17HTTP/1.1 401 Authorization Required 18Server: testcurl 19WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 20WWW-Authenticate: Basic realm="gimme all yer s3cr3ts" 21WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts" 22Content-Type: text/plain 23Content-Length: 0 24 25</data> 26<datacheck> 27HTTP/1.1 401 Authorization Required 28Server: testcurl 29WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 30WWW-Authenticate: Basic realm="gimme all yer s3cr3ts" 31WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts" 32Content-Type: text/plain 33Content-Length: 0 34 35HTTP/1.1 401 Authorization Required 36Server: testcurl 37WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 38WWW-Authenticate: Basic realm="gimme all yer s3cr3ts" 39WWW-Authenticate: X-bogus-auth realm="gimme all yer s3cr3ts" 40Content-Type: text/plain 41Content-Length: 0 42 43</datacheck> 44</reply> 45 46# Client-side 47<client> 48<server> 49http 50</server> 51 <name> 52HTTP PUT with --anyauth authorization (picking Basic) 53 </name> 54 <command> 55http://%HOSTIP:%HTTPPORT/1075 -T log/put1075 -u testuser:testpass --anyauth 56</command> 57<file name="log/put1075"> 58This is data we upload with PUT 59a second line 60line three 61four is the number of lines 62</file> 63</client> 64 65# Verify data after the test has been "shot" 66<verify> 67<strip> 68^User-Agent:.* 69</strip> 70<protocol> 71PUT /1075 HTTP/1.1 72Host: %HOSTIP:%HTTPPORT 73Accept: */* 74Content-Length: 85 75Expect: 100-continue 76 77This is data we upload with PUT 78a second line 79line three 80four is the number of lines 81PUT /1075 HTTP/1.1 82Host: %HOSTIP:%HTTPPORT 83Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= 84Accept: */* 85Content-Length: 85 86Expect: 100-continue 87 88This is data we upload with PUT 89a second line 90line three 91four is the number of lines 92</protocol> 93</verify> 94</testcase> 95