test proxy supports CONNECT

There's a new 'http-proxy' server for tests that runs on a separate port
and lets clients do HTTP CONNECT to other ports on the same host to
allow us to test HTTP "tunneling" properly.

Test cases now have a <proxy> section in <verify> to check that the
proxy protocol part matches correctly.

Test case 80, 83, 95, 275, 503 and 1078 have been converted. Test 1316
was added.
This commit is contained in:
Daniel Stenberg
2011-12-17 23:47:22 +01:00
parent 585b89a6c3
commit 82180643f4
14 changed files with 597 additions and 60 deletions

View File

@@ -41,12 +41,13 @@ contents
<client>
<server>
http
http-proxy
</server>
<name>
HTTP CONNECT with proxytunnel getting two URLs from the same host
</name>
<command>
http://remotesite.com/we/want/that/page/275 -p -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user youare:yourself http://remotesite.com/we/want/that/page/275
http://remotesite.com:%HTTPPORT/we/want/that/page/275 -p -x %HOSTIP:%PROXYPORT --user iam:myself --proxy-user youare:yourself http://remotesite.com:%HTTPPORT/we/want/that/page/275
</command>
</client>
@@ -56,21 +57,23 @@ http://remotesite.com/we/want/that/page/275 -p -x %HOSTIP:%HTTPPORT --user iam:m
<strip>
^User-Agent:.*
</strip>
<protocol>
CONNECT remotesite.com:80 HTTP/1.1
Host: remotesite.com:80
<proxy>
CONNECT remotesite.com:%HTTPPORT HTTP/1.1
Host: remotesite.com:%HTTPPORT
Proxy-Authorization: Basic eW91YXJlOnlvdXJzZWxm
User-Agent: curl/7.10.7-pre2 (i686-pc-linux-gnu) libcurl/7.10.7-pre2 OpenSSL/0.9.7a zlib/1.1.3
Proxy-Connection: Keep-Alive
</proxy>
<protocol>
GET /we/want/that/page/275 HTTP/1.1
Authorization: Basic aWFtOm15c2VsZg==
Host: remotesite.com
Host: remotesite.com:%HTTPPORT
Accept: */*
GET /we/want/that/page/275 HTTP/1.1
Authorization: Basic aWFtOm15c2VsZg==
Host: remotesite.com
Host: remotesite.com:%HTTPPORT
Accept: */*
</protocol>