<testcase>
<info>
<keywords>
HTTP
HTTP GET
followlocation
FTP
PASV
FILE
</keywords>
</info>

#
# Server-side
<reply>
<data1>
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
Location: ftp://127.0.0.1:8992/10280002
Content-Length: 0
Connection: close

</data1>
<data2>
data
    to
      see
that FTP
works
  so does it?
</data2>
</reply>

#
# Client-side
<client>
<server>
http
ftp
</server>
 <name>
HTTP Location: redirect to FTP URL
 </name>
 <command>
http://%HOSTIP:%HTTPPORT/10280001 -L
</command>
# The data section doesn't do variable substitution, so we must assert this
<precheck>
perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%FTPPORT' ne '8992' );"
</precheck>
</client>

#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /10280001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*

USER anonymous
PASS ftp@example.com
PWD
EPSV
TYPE I
SIZE 10280002
RETR 10280002
QUIT
</protocol>
<stdout>
HTTP/1.1 302 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake swsclose
Content-Type: text/html
Funny-head: yesyes
Location: ftp://%HOSTIP:%FTPPORT/10280002
Content-Length: 0
Connection: close

data
    to
      see
that FTP
works
  so does it?
</stdout>
</verify>
</testcase>