# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 10

blablabla
</data>
</reply>

# Client-side
<client>
<server>
http
</server>
 <name>
HTTP RFC1867-type formposting with filename= and type=
 </name>
 <command>
http://%HOSTIP:%HTTPPORT/we/want/39 -F name=daniel -F tool=curl -F "file=@log/test39.txt;filename=fakerfile;type=moo/foobar" -F file2=@log/test39.txt
</command>
# We create this file before the command is invoked!
<file name="log/test39.txt">
foo bar
This is a bar foo
bar
foo
</file>
</test>

# Verify data after the test has been "shot"
<verify>
<strip>
^(User-Agent:|Content-Type: multipart/form-data;|-------).*
</strip>
<protocol>
POST /we/want/39 HTTP/1.1
User-Agent: curl/7.10.4 (i686-pc-linux-gnu) libcurl/7.10.4 OpenSSL/0.9.7a ipv6 zlib/1.1.3
Host: 127.0.0.1:%HTTPPORT
Pragma: no-cache
Accept: */*
Content-Length: 594
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32

------------------------------24e78000bd32
Content-Disposition: form-data; name="name"

daniel
------------------------------24e78000bd32
Content-Disposition: form-data; name="tool"

curl
------------------------------24e78000bd32
Content-Disposition: form-data; name="file"; filename="fakerfile"
Content-Type: moo/foobar

foo bar
This is a bar foo
bar
foo

------------------------------24e78000bd32
Content-Disposition: form-data; name="file2"; filename="test39.txt"
Content-Type: text/plain

foo bar
This is a bar foo
bar
foo

------------------------------24e78000bd32--
</protocol>
</verify>
