xref: /aosp_15_r20/external/curl/tests/data/test654 (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker<testcase>
2*6236dae4SAndroid Build Coastguard Worker<info>
3*6236dae4SAndroid Build Coastguard Worker<keywords>
4*6236dae4SAndroid Build Coastguard WorkerHTTP
5*6236dae4SAndroid Build Coastguard WorkerHTTP POST
6*6236dae4SAndroid Build Coastguard WorkerHTTP MIME POST
7*6236dae4SAndroid Build Coastguard Worker</keywords>
8*6236dae4SAndroid Build Coastguard Worker</info>
9*6236dae4SAndroid Build Coastguard Worker
10*6236dae4SAndroid Build Coastguard Worker#
11*6236dae4SAndroid Build Coastguard Worker# Server-side
12*6236dae4SAndroid Build Coastguard Worker<reply>
13*6236dae4SAndroid Build Coastguard Worker<data>
14*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK
15*6236dae4SAndroid Build Coastguard WorkerDate: Tue, 09 Nov 2010 14:49:00 GMT
16*6236dae4SAndroid Build Coastguard WorkerServer: test-server/fake swsclose
17*6236dae4SAndroid Build Coastguard WorkerConnection: close
18*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html
19*6236dae4SAndroid Build Coastguard Worker
20*6236dae4SAndroid Build Coastguard Workerhello
21*6236dae4SAndroid Build Coastguard Worker</data>
22*6236dae4SAndroid Build Coastguard Worker<datacheck>
23*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK
24*6236dae4SAndroid Build Coastguard WorkerDate: Tue, 09 Nov 2010 14:49:00 GMT
25*6236dae4SAndroid Build Coastguard WorkerServer: test-server/fake swsclose
26*6236dae4SAndroid Build Coastguard WorkerConnection: close
27*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html
28*6236dae4SAndroid Build Coastguard Worker
29*6236dae4SAndroid Build Coastguard Workerhello
30*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK
31*6236dae4SAndroid Build Coastguard WorkerDate: Tue, 09 Nov 2010 14:49:00 GMT
32*6236dae4SAndroid Build Coastguard WorkerServer: test-server/fake swsclose
33*6236dae4SAndroid Build Coastguard WorkerConnection: close
34*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html
35*6236dae4SAndroid Build Coastguard Worker
36*6236dae4SAndroid Build Coastguard Workerhello
37*6236dae4SAndroid Build Coastguard Worker</datacheck>
38*6236dae4SAndroid Build Coastguard Worker</reply>
39*6236dae4SAndroid Build Coastguard Worker
40*6236dae4SAndroid Build Coastguard Worker# Client-side
41*6236dae4SAndroid Build Coastguard Worker<client>
42*6236dae4SAndroid Build Coastguard Worker<features>
43*6236dae4SAndroid Build Coastguard WorkerMime
44*6236dae4SAndroid Build Coastguard Worker</features>
45*6236dae4SAndroid Build Coastguard Worker<server>
46*6236dae4SAndroid Build Coastguard Workerhttp
47*6236dae4SAndroid Build Coastguard Worker</server>
48*6236dae4SAndroid Build Coastguard Worker# tool is what to use instead of 'curl'
49*6236dae4SAndroid Build Coastguard Worker<tool>
50*6236dae4SAndroid Build Coastguard Workerlib%TESTNUMBER
51*6236dae4SAndroid Build Coastguard Worker</tool>
52*6236dae4SAndroid Build Coastguard Worker
53*6236dae4SAndroid Build Coastguard Worker<name>
54*6236dae4SAndroid Build Coastguard WorkerHTTP duplicate easy handle with mime data
55*6236dae4SAndroid Build Coastguard Worker</name>
56*6236dae4SAndroid Build Coastguard Worker<command>
57*6236dae4SAndroid Build Coastguard Workerhttp://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/file%TESTNUMBER.txt
58*6236dae4SAndroid Build Coastguard Worker</command>
59*6236dae4SAndroid Build Coastguard Worker<file name="%LOGDIR/file%TESTNUMBER.txt">
60*6236dae4SAndroid Build Coastguard WorkerThis is data from a file
61*6236dae4SAndroid Build Coastguard Worker</file>
62*6236dae4SAndroid Build Coastguard Worker</client>
63*6236dae4SAndroid Build Coastguard Worker
64*6236dae4SAndroid Build Coastguard Worker#
65*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot"
66*6236dae4SAndroid Build Coastguard Worker<verify>
67*6236dae4SAndroid Build Coastguard Worker<strippart>
68*6236dae4SAndroid Build Coastguard Workers/^--------------------------[A-Za-z0-9]*/------------------------------/
69*6236dae4SAndroid Build Coastguard Workers/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------------/
70*6236dae4SAndroid Build Coastguard Worker</strippart>
71*6236dae4SAndroid Build Coastguard Worker# Note that the stripping above removes 12 bytes from every occurrence of the
72*6236dae4SAndroid Build Coastguard Worker# boundary string and since 5 of them are in the body contents, we see
73*6236dae4SAndroid Build Coastguard Worker# (5*12) == 60 bytes less
74*6236dae4SAndroid Build Coastguard Worker<protocol>
75*6236dae4SAndroid Build Coastguard WorkerPOST /%TESTNUMBER HTTP/1.1
76*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT
77*6236dae4SAndroid Build Coastguard WorkerAccept: */*
78*6236dae4SAndroid Build Coastguard WorkerContent-Length: 0
79*6236dae4SAndroid Build Coastguard Worker
80*6236dae4SAndroid Build Coastguard WorkerPOST /%TESTNUMBER HTTP/1.1
81*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT
82*6236dae4SAndroid Build Coastguard WorkerAccept: */*
83*6236dae4SAndroid Build Coastguard WorkerTransfer-Encoding: chunked
84*6236dae4SAndroid Build Coastguard WorkerContent-Type: multipart/form-data; boundary=----------------------------
85*6236dae4SAndroid Build Coastguard WorkerExpect: 100-continue
86*6236dae4SAndroid Build Coastguard Worker
87*6236dae4SAndroid Build Coastguard Worker%if hyper
88*6236dae4SAndroid Build Coastguard Worker1C1
89*6236dae4SAndroid Build Coastguard Worker%else
90*6236dae4SAndroid Build Coastguard Worker1c1
91*6236dae4SAndroid Build Coastguard Worker%endif
92*6236dae4SAndroid Build Coastguard Worker------------------------------
93*6236dae4SAndroid Build Coastguard WorkerContent-Disposition: form-data; name="greeting"
94*6236dae4SAndroid Build Coastguard WorkerContent-Type: application/X-Greeting
95*6236dae4SAndroid Build Coastguard WorkerContent-Transfer-Encoding: base64
96*6236dae4SAndroid Build Coastguard WorkerX-Test-Number: %TESTNUMBER
97*6236dae4SAndroid Build Coastguard Worker
98*6236dae4SAndroid Build Coastguard WorkeraGVsbG8=
99*6236dae4SAndroid Build Coastguard Worker------------------------------
100*6236dae4SAndroid Build Coastguard WorkerContent-Disposition: form-data; filename="file%TESTNUMBER.txt"
101*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/plain
102*6236dae4SAndroid Build Coastguard Worker
103*6236dae4SAndroid Build Coastguard WorkerThis is data from a file
104*6236dae4SAndroid Build Coastguard Worker
105*6236dae4SAndroid Build Coastguard Worker------------------------------
106*6236dae4SAndroid Build Coastguard WorkerContent-Disposition: form-data
107*6236dae4SAndroid Build Coastguard Worker
108*6236dae4SAndroid Build Coastguard Worker
109*6236dae4SAndroid Build Coastguard Worker1
110*6236dae4SAndroid Build Coastguard Workerd
111*6236dae4SAndroid Build Coastguard Worker1
112*6236dae4SAndroid Build Coastguard Workeru
113*6236dae4SAndroid Build Coastguard Worker1
114*6236dae4SAndroid Build Coastguard Workerm
115*6236dae4SAndroid Build Coastguard Worker1
116*6236dae4SAndroid Build Coastguard Workerm
117*6236dae4SAndroid Build Coastguard Worker1
118*6236dae4SAndroid Build Coastguard Workery
119*6236dae4SAndroid Build Coastguard Worker1
120*6236dae4SAndroid Build Coastguard Worker
121*6236dae4SAndroid Build Coastguard Worker
122*6236dae4SAndroid Build Coastguard Worker36
123*6236dae4SAndroid Build Coastguard Worker
124*6236dae4SAndroid Build Coastguard Worker--------------------------------
125*6236dae4SAndroid Build Coastguard Worker
126*6236dae4SAndroid Build Coastguard Worker0
127*6236dae4SAndroid Build Coastguard Worker
128*6236dae4SAndroid Build Coastguard Worker</protocol>
129*6236dae4SAndroid Build Coastguard Worker</verify>
130*6236dae4SAndroid Build Coastguard Worker</testcase>
131