<testcase> <info> <keywords> HTTP HTTP GET HTTP CONNECT HTTP proxy proxytunnel HTTP proxy Digest auth </keywords> </info> # Server-side <reply> <servercmd> connection-monitor auth_required </servercmd> # this is returned first since we get no proxy-auth <connect> HTTP/1.1 407 Authorization Required to proxy me my dear Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" Content-Length: 33 And you should ignore this data. </connect> # this is returned when we get a GET! <data2> HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Content-Length: 7 Connection: close Content-Type: text/html Funny-head: yesyes daniel </data2> # then this is returned when we get proxy-auth <connect1000> HTTP/1.1 200 OK swsbounce Server: no </connect1000> <datacheck> HTTP/1.1 407 Authorization Required to proxy me my dear Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" Content-Length: 33 HTTP/1.1 200 OK swsbounce Server: no HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Content-Length: 7 Connection: close Content-Type: text/html Funny-head: yesyes daniel </datacheck> </reply> # Client-side <client> <server> http </server> <features> !SSPI crypto proxy </features> <name> HTTP proxy CONNECT auth Digest </name> <command> http://test.remote.haxx.se.%TESTNUMBER:8990/path/%TESTNUMBER0002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel </command> </client> # Verify data after the test has been "shot" <verify> <protocol> CONNECT test.remote.haxx.se.%TESTNUMBER:8990 HTTP/1.1 Host: test.remote.haxx.se.%TESTNUMBER:8990 User-Agent: curl/%VERSION Proxy-Connection: Keep-Alive CONNECT test.remote.haxx.se.%TESTNUMBER:8990 HTTP/1.1 Host: test.remote.haxx.se.%TESTNUMBER:8990 Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.haxx.se.%TESTNUMBER:8990", response="003e36decb4dbf6366b3ecb9b87c24ec" User-Agent: curl/%VERSION Proxy-Connection: Keep-Alive GET /path/%TESTNUMBER0002 HTTP/1.1 Host: test.remote.haxx.se.%TESTNUMBER:8990 User-Agent: curl/%VERSION Accept: */* [DISCONNECT] </protocol> </verify> </testcase>