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

#
# Server-side
<reply>
<data1 nocheck="1">
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="1">
data
    to
      see
that FTP
works
  so does it?
</data2>
<data3 nocheck="1">
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>
