1<testcase>
2<info>
3<keywords>
4HTTP
5HTTP GET
6HTTP proxy
7HTTP proxy Digest auth
8multi
9</keywords>
10</info>
11
12# Server-side
13<reply>
14
15# this is returned first since we get no proxy-auth
16<data>
17HTTP/1.1 407 Authorization Required to proxy me my dear
18Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
19Content-Length: 33
20
21And you should ignore this data.
22</data>
23
24# then this is returned when we get proxy-auth
25<data1000>
26HTTP/1.1 200 OK
27Content-Length: 21
28Server: no
29
30Nice proxy auth sir!
31</data1000>
32
33<datacheck>
34HTTP/1.1 407 Authorization Required to proxy me my dear
35Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
36Content-Length: 33
37
38HTTP/1.1 200 OK
39Content-Length: 21
40Server: no
41
42Nice proxy auth sir!
43HTTP/1.1 200 OK
44Content-Length: 21
45Server: no
46
47Nice proxy auth sir!
48</datacheck>
49</reply>
50
51# Client-side
52<client>
53<server>
54http
55</server>
56# tool is what to use instead of 'curl'
57<tool>
58lib540
59</tool>
60<features>
61!SSPI
62crypto
63</features>
64 <name>
65HTTP proxy auth Digest multi API re-using connection
66 </name>
67 <command>
68http://test.remote.example.com/path/540 http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name
69</command>
70</client>
71
72# Verify data after the test has been "shot"
73<verify>
74<strip>
75^User-Agent: curl/.*
76</strip>
77<protocol>
78GET http://test.remote.example.com/path/540 HTTP/1.1
79Host: custom.set.host.name
80Accept: */*
81
82GET http://test.remote.example.com/path/540 HTTP/1.1
83Host: custom.set.host.name
84Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261"
85Accept: */*
86
87GET http://test.remote.example.com/path/540 HTTP/1.1
88Host: custom.set.host.name
89Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261"
90Accept: */*
91
92</protocol>
93</verify>
94</testcase>
95