<testcase>
<info>
<keywords>
HTTP
HTTP POST
HTTP MIME POST
</keywords>
</info>

#
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:4f:00 GMT
Server: test-server/fake swsclose
Connection: close
Content-Type: text/html

hello
</data>
<datacheck>
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:4f:00 GMT
Server: test-server/fake swsclose
Connection: close
Content-Type: text/html

hello
</datacheck>
</reply>

# Client-side
<client>
<features>
Mime
</features>
<server>
http
</server>
# tool is what to use instead of 'curl'
<tool>
lib%TESTNUMBER
</tool>

<name>
HTTP mimepost early end of data detection
</name>
<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/file%TESTNUMBER.txt
</command>
<file name="%LOGDIR/file%TESTNUMBER.txt">
This is data from a file
</file>
</client>

#
# Verify data after the test has been "shot"
<verify>
<strippart>
s/^--------------------------[A-Za-z0-9]*/------------------------------/
s/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------------/
</strippart>
# Note that the stripping above removes 12 bytes from every occurrence of the
# boundary string and since 5 of them are in the body contents, we see
# (5*12) == 60 bytes less
<protocol>
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Transfer-Encoding: chunked
Content-Type: multipart/form-data; boundary=----------------------------
Expect: 100-continue

%if hyper
CD
%else
cd
%endif
------------------------------
Content-Disposition: form-data; name="field1"

dummy
------------------------------
Content-Disposition: form-data; name="field2"


5
dummy
97

------------------------------
Content-Disposition: form-data; name="field3"; filename="file%TESTNUMBER.txt"
Content-Type: text/plain


%if hyper
4F
%else
4f
%endif
This is data from a file

--------------------------------

0

</protocol>
</verify>
</testcase>
