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
82Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
83Host: %HOSTIP:%HTTPPORT
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