<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>
