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