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
30</datacheck>
31</reply>
32
33# Client-side
34<client>
35<server>
36http
37</server>
38# tool is what to use instead of 'curl'
39<tool>
40lib667
41</tool>
42
43 <name>
44HTTP chunked mimepost using single-byte read callback with encoder
45 </name>
46 <command>
47http://%HOSTIP:%HTTPPORT/667
48</command>
49</client>
50
51#
52# Verify data after the test has been "shot"
53<verify>
54<strippart>
55s/^--------------------------[a-z0-9]*/------------------------------/
56s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/
57</strippart>
58# Note that the stripping above removes 12 bytes from every occurrence of the
59# boundary string and since 5 of them are in the body contents, we see
60# (5*12) == 60 bytes less
61<protocol>
62POST /667 HTTP/1.1
63Host: %HOSTIP:%HTTPPORT
64Accept: */*
65Transfer-Encoding: chunked
66Content-Type: multipart/form-data; boundary=----------------------------
67Expect: 100-continue
68
697f
70------------------------------
71Content-Disposition: form-data; name="field"
72Content-Transfer-Encoding: base64
73
74
754
76ZHVt
7734
78bXk=
79--------------------------------
80
810
82
83</protocol>
84</verify>
85</testcase>
86