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>
61crypto
62</features>
63 <name>
64HTTP proxy auth Digest multi API re-using connection
65 </name>
66 <command>
67http://test.remote.example.com/path/540 http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name
68</command>
69</client>
70
71# Verify data after the test has been "shot"
72<verify>
73<strip>
74^User-Agent: curl/.*
75</strip>
76<protocol>
77GET http://test.remote.example.com/path/540 HTTP/1.1
78Accept: */*
79Proxy-Connection: Keep-Alive
80Host: custom.set.host.name
81
82GET http://test.remote.example.com/path/540 HTTP/1.1
83Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261"
84Accept: */*
85Proxy-Connection: Keep-Alive
86Host: custom.set.host.name
87
88GET http://test.remote.example.com/path/540 HTTP/1.1
89Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261"
90Accept: */*
91Proxy-Connection: Keep-Alive
92Host: custom.set.host.name
93
94</protocol>
95</verify>
96</testcase>
97