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/%TESTNUMBER -T %LOGDIR/put%TESTNUMBER -u testuser:testpass --anyauth 56</command> 57<file name="%LOGDIR/put%TESTNUMBER"> 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<protocol> 68PUT /%TESTNUMBER HTTP/1.1 69Host: %HOSTIP:%HTTPPORT 70User-Agent: curl/%VERSION 71Accept: */* 72Content-Length: 85 73 74This is data we upload with PUT 75a second line 76line three 77four is the number of lines 78PUT /%TESTNUMBER HTTP/1.1 79Host: %HOSTIP:%HTTPPORT 80Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= 81User-Agent: curl/%VERSION 82Accept: */* 83Content-Length: 85 84 85This is data we upload with PUT 86a second line 87line three 88four is the number of lines 89</protocol> 90</verify> 91</testcase> 92