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 </features> 71 <name> 72 HTTP proxy auth Digest multi API re-using connection 73 </name> 74 <command> 75 http://test.remote.example.com/path/540 http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name 76 </command> 77 </client> 78 79 # Verify data after the test has been "shot" 80 <verify> 81 <strip> 82 ^User-Agent: curl/.* 83 </strip> 84 <protocol> 85 GET http://test.remote.example.com/path/540 HTTP/1.1 86 Host: custom.set.host.name 87 Accept: */* 88 Proxy-Connection: Keep-Alive 89 90 GET http://test.remote.example.com/path/540 HTTP/1.1 91 Host: custom.set.host.name 92 Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261" 93 Accept: */* 94 Proxy-Connection: Keep-Alive 95 96 GET http://test.remote.example.com/path/540 HTTP/1.1 97 Host: custom.set.host.name 98 Accept: */* 99 Proxy-Connection: Keep-Alive 100 101 GET http://test.remote.example.com/path/540 HTTP/1.1 102 Host: custom.set.host.name 103 Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261" 104 Accept: */* 105 Proxy-Connection: Keep-Alive 106 107 [DISCONNECT] 108 </protocol> 109 </verify> 110 </testcase> 111