1<testcase>
2<info>
3<keywords>
4FTP
5HTTPS-proxy
6</keywords>
7</info>
8
9# Server-side
10<reply>
11
12# This is the HTTPS proxy response
13<connect>
14HTTP/1.1 200 OK
15Date: Tue, 09 Nov 2010 14:49:00 GMT
16Server: test-server/fake
17Content-Type: text/html
18Funny-head: yesyes
19Content-Length: 0
20
21</connect>
22
23# This is the FTP server response. The Life and Adventures of Robinson Crusoe
24<data>
25I was born in the year %TESTNUMBER, in the city of York, of a good family, though not
26of that country, myfather being a foreigner of Bremen, who settled first at
27Hull.  He got a good estate by merchandise,and leaving off his trade, lived
28afterwards at York, from whence he had married my mother, whoserelations were
29named Robinson, a very good family in that country, and from whom I was
30calledRobinson Kreutznaer; but, by the usual corruption of words in England,
31we are now called—nay wecall ourselves and write our name—Crusoe; and so my
32companions always called me.
33</data>
34
35<data2>
36I had two elder brothers, one of whom was lieutenant-colonel to an
37English regiment of foot inFlanders, formerly commanded by the famous Colonel
38Lockhart, and was killed at the battle nearDunkirk against the Spaniards.
39What became of my second brother I never knew, any more thanmy father or
40mother knew what became of me.
41</data2>
42
43</reply>
44
45# Client-side
46<client>
47<server>
48ftp
49https-proxy
50</server>
51 <name>
52FTP through HTTPS-proxy, with connection re-use
53 </name>
54 <command>
55-p -x https://%HOSTIP:%HTTPSPROXYPORT ftp://ftp.site.thru.https.proxy:%FTPPORT/%TESTNUMBER --proxy-insecure ftp://ftp.site.thru.https.proxy:%FTPPORT/%TESTNUMBER0002
56</command>
57<features>
58http
59proxy
60</features>
61</client>
62
63# Verify data after the test has been "shot"
64<verify>
65
66# The second and third CONNECT will be made to the dynamic port number the FTP
67# server opens for us, so we can't compare with known pre-existing numbers!
68
69<strippart>
70s/((https.proxy):(\d+))/$2:12345/
71s/^(User-Agent: curl).*/$1/
72</strippart>
73<proxy>
74CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
75Host: ftp.site.thru.https.proxy:12345
76User-Agent: curl
77Proxy-Connection: Keep-Alive
78
79CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
80Host: ftp.site.thru.https.proxy:12345
81User-Agent: curl
82Proxy-Connection: Keep-Alive
83
84CONNECT ftp.site.thru.https.proxy:12345 HTTP/1.1
85Host: ftp.site.thru.https.proxy:12345
86User-Agent: curl
87Proxy-Connection: Keep-Alive
88
89</proxy>
90<protocol>
91USER anonymous
92PASS ftp@example.com
93PWD
94EPSV
95TYPE I
96SIZE %TESTNUMBER
97RETR %TESTNUMBER
98EPSV
99SIZE %TESTNUMBER0002
100RETR %TESTNUMBER0002
101QUIT
102</protocol>
103</verify>
104</testcase>
105