blob: 7546453944217c7a79172a5702dc2761b6ca4246 [file] [log] [blame]
xf.li6c8fc1e2023-08-12 00:11:09 -07001<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: Tue, 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: Tue, 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<features>
36Mime
37</features>
38<server>
39http
40</server>
41# tool is what to use instead of 'curl'
42<tool>
43lib%TESTNUMBER
44</tool>
45
46 <name>
47HTTP chunked mimepost using single-byte read callback with encoder
48 </name>
49 <command>
50http://%HOSTIP:%HTTPPORT/%TESTNUMBER
51</command>
52</client>
53
54#
55# Verify data after the test has been "shot"
56<verify>
57<strippart>
58s/^--------------------------[a-z0-9]*/------------------------------/
59s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/
60</strippart>
61# Note that the stripping above removes 12 bytes from every occurrence of the
62# boundary string and since 5 of them are in the body contents, we see
63# (5*12) == 60 bytes less
64<protocol>
65POST /%TESTNUMBER HTTP/1.1
66Host: %HOSTIP:%HTTPPORT
67Accept: */*
68Transfer-Encoding: chunked
69Content-Type: multipart/form-data; boundary=----------------------------
70Expect: 100-continue
71
72%if hyper
737F
74%else
757f
76%endif
77------------------------------
78Content-Disposition: form-data; name="field"
79Content-Transfer-Encoding: base64
80
81
824
83ZHVt
8434
85bXk=
86--------------------------------
87
880
89
90</protocol>
91</verify>
92</testcase>