<testcase>
<info>
<keywords>
FTP
HTTPS-proxy
</keywords>
</info>

# Server-side
<reply>

# This is the HTTPS proxy response
<connect>
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Type: text/html
Funny-head: yesyes
Content-Length: 0

</connect>

# This is the FTP server response. The Life and Adventures of Robinson Crusoe
<data>
I was born in the year %TESTNUMBER, in the city of York, of a good family, though not
of that country, myfather being a foreigner of Bremen, who settled first at
Hull.  He got a good estate by merchandise,and leaving off his trade, lived
afterwards at York, from whence he had married my mother, whoserelations were
named Robinson, a very good family in that country, and from whom I was
calledRobinson Kreutznaer; but, by the usual corruption of words in England,
we are now called—nay wecall ourselves and write our name—Crusoe; and so my
companions always called me.
</data>

<data2>
I had two elder brothers, one of whom was lieutenant-colonel to an
English regiment of foot inFlanders, formerly commanded by the famous Colonel
Lockhart, and was killed at the battle nearDunkirk against the Spaniards.
What became of my second brother I never knew, any more thanmy father or
mother knew what became of me.
</data2>

</reply>

# Client-side
<client>
<server>
ftp
https-proxy
</server>
<name>
FTP through HTTPS-proxy, with connection reuse
</name>
<command>
-p -x https://%HOSTIP:%HTTPSPROXYPORT ftp://ftp.site.thru.https.proxy:%FTPPORT/%TESTNUMBER --proxy-insecure ftp://ftp.site.thru.https.proxy:%FTPPORT/%TESTNUMBER0002
</command>
<features>
http
proxy
</features>
</client>

# Verify data after the test has been "shot"
<verify>

# The second and third CONNECT will be made to the dynamic port number the FTP
# server opens for us, so we can't compare with known pre-existing numbers!

<strippart>
s/((https.proxy):(\d+))/$2:12345/
s/^(User-Agent: curl).*/$1/
</strippart>
<proxy>
CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
Host: ftp.site.thru.https.proxy:12345
User-Agent: curl
Proxy-Connection: Keep-Alive

CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
Host: ftp.site.thru.https.proxy:12345
User-Agent: curl
Proxy-Connection: Keep-Alive

CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
Host: ftp.site.thru.https.proxy:12345
User-Agent: curl
Proxy-Connection: Keep-Alive

</proxy>
<protocol>
USER anonymous
PASS ftp@example.com
PWD
EPSV
TYPE I
SIZE %TESTNUMBER
RETR %TESTNUMBER
EPSV
SIZE %TESTNUMBER0002
RETR %TESTNUMBER0002
QUIT
</protocol>
</verify>
</testcase>
