1<testcase>
2<info>
3<keywords>
4HTTP
5HTTP POST
6HTTP MIME POST
7</keywords>
8</info>
9
10#
11# Server-side
12<reply>
13<data>
14HTTP/1.1 200 OK
15Date: Thu, 09 Nov 2010 14:49:00 GMT
16Server: test-server/fake swsclose
17Connection: close
18Content-Type: text/html
19
20hello
21</data>
22<datacheck>
23HTTP/1.1 200 OK
24Date: Thu, 09 Nov 2010 14:49:00 GMT
25Server: test-server/fake swsclose
26Connection: close
27Content-Type: text/html
28
29hello
30HTTP/1.1 200 OK
31Date: Thu, 09 Nov 2010 14:49:00 GMT
32Server: test-server/fake swsclose
33Connection: close
34Content-Type: text/html
35
36hello
37</datacheck>
38</reply>
39
40# Client-side
41<client>
42<server>
43http
44</server>
45# tool is what to use instead of 'curl'
46<tool>
47lib654
48</tool>
49
50 <name>
51HTTP duplicate easy handle with mime data
52 </name>
53 <command>
54http://%HOSTIP:%HTTPPORT/654
55</command>
56<file name="log/file654.txt">
57This is data from a file
58</file>
59</client>
60
61#
62# Verify data after the test has been "shot"
63<verify>
64<strippart>
65s/^--------------------------[a-z0-9]*/------------------------------/
66s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/
67</strippart>
68# Note that the stripping above removes 12 bytes from every occurrence of the
69# boundary string and since 5 of them are in the body contents, we see
70# (5*12) == 60 bytes less
71<protocol>
72POST /654 HTTP/1.1
73Host: %HOSTIP:%HTTPPORT
74Accept: */*
75Content-Length: 0
76
77POST /654 HTTP/1.1
78Host: %HOSTIP:%HTTPPORT
79Accept: */*
80Transfer-Encoding: chunked
81Content-Type: multipart/form-data; boundary=----------------------------
82Expect: 100-continue
83
8420c
85------------------------------
86Content-Disposition: form-data; name="greeting"
87Content-Type: application/X-Greeting
88Content-Transfer-Encoding: base64
89X-Test-Number: 654
90
91aGVsbG8=
92------------------------------
93Content-Disposition: form-data; filename="file654.txt"
94Content-Type: text/plain
95
96This is data from a file
97
98------------------------------
99Content-Disposition: form-data
100
101this is what we post to the silly web server
102
103--------------------------------
104
1050
106
107</protocol>
108</verify>
109</testcase>
110