<testcase> <info> <keywords> HTTP HTTP GET HTTP CONNECT proxytunnel verbose logs </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake swsclose Content-Type: text/html Funny-head: yesyes Content-Length: 9 contents </data> # The purpose of this test is to make sure curl ignores headers # Content-Length and Transfer-Encoding in a successful CONNECT 2xx reply. <connect> HTTP/1.1 200 Mighty fine indeed Content-Length: 123 Transfer-Encoding: chunked </connect> <datacheck> HTTP/1.1 200 Mighty fine indeed Content-Length: 123 Transfer-Encoding: chunked HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake swsclose Content-Type: text/html Funny-head: yesyes Content-Length: 9 contents </datacheck> </reply> # # Client-side <client> <server> http http-proxy </server> <name> HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses </name> <command> -v --proxytunnel -x %HOSTIP:%PROXYPORT http://test.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <proxy> CONNECT test.%TESTNUMBER:%HTTPPORT HTTP/1.1 Host: test.%TESTNUMBER:%HTTPPORT User-Agent: curl/%VERSION Proxy-Connection: Keep-Alive </proxy> <protocol> GET /we/want/that/page/%TESTNUMBER HTTP/1.1 Host: test.%TESTNUMBER:%HTTPPORT User-Agent: curl/%VERSION Accept: */* </protocol> <file name="%LOGDIR/stderr%TESTNUMBER" mode="text"> %if !hyper * Ignoring Content-Length in CONNECT 200 response * Ignoring Transfer-Encoding in CONNECT 200 response %endif </file> <stripfile> s/^.*(?=\* Ignoring (?:Content-Length|Transfer-Encoding) )// or $_ = '' </stripfile> </verify> </testcase>