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