<testcase>
<info>
<keywords>
HTTP
HTTP GET
FTP
PASV
FILE
TFTP
TFTP RRQ
multiprotocol
</keywords>
</info>

#
# Server-side
<reply>
<data1 nocheck="yes">
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Content-Type: text/html
Funny-head: yesyes

-foo-
</data1>
<data2 nocheck="yes">
data
    to
      see
that FTP
works
  so does it?
</data2>
<data3 nocheck="yes">
a chunk of
data
returned
 to TFTP client
</data3>
</reply>

#
# Client-side
<client>
<server>
http
ftp
file
tftp
</server>
 <name>
HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ
 </name>
 <command>
http://%HOSTIP:%HTTPPORT/20020001 ftp://%HOSTIP:%FTPPORT/20020002 file://localhost/%PWD/log/test2002.txt tftp://%HOSTIP:%TFTPPORT//20020003
</command>
<file name="log/test2002.txt">
foo
   bar
bar
   foo
moo
</file>
</client>

#
# Verify data after the test has been "shot"
<verify>
<strip>
^User-Agent:.*
</strip>
<protocol>
GET /20020001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*

USER anonymous
PASS ftp@example.com
PWD
EPSV
TYPE I
SIZE 20020002
RETR 20020002
opcode: 1
filename: /20020003
mode: octet
QUIT
</protocol>
<stdout>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Content-Type: text/html
Funny-head: yesyes

-foo-
data
    to
      see
that FTP
works
  so does it?
foo
   bar
bar
   foo
moo
a chunk of
data
returned
 to TFTP client
</stdout>
</verify>
</testcase>
