mirror of
https://github.com/curl/curl.git
synced 2024-12-15 06:40:09 +08:00
3fd80c7b59
The threee tags `<name>`, `</name>` and `<command>` were frequently used with a leading space that this removes. The reason this habbit is so widespread in testcases is probably that they have been copy and pasted. Hence, fixing them all now might curb this practice from now on. Closes #12028
221 lines
3.1 KiB
Plaintext
221 lines
3.1 KiB
Plaintext
<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:49: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:49:00 GMT
|
|
Server: test-server/fake swsclose
|
|
Connection: close
|
|
Content-Type: text/html
|
|
|
|
hello
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49: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 multi-part chunked mimepost using read callback for the file part
|
|
</name>
|
|
<command>
|
|
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
|
|
</command>
|
|
</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
|
|
7C
|
|
%else
|
|
7c
|
|
%endif
|
|
------------------------------
|
|
Content-Disposition: form-data; name="sendfile"; filename="postit2.c"
|
|
|
|
d
|
|
1
|
|
u
|
|
1
|
|
m
|
|
1
|
|
m
|
|
1
|
|
y
|
|
1
|
|
|
|
|
|
%if hyper
|
|
6B
|
|
%else
|
|
6b
|
|
%endif
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="callbackdata"
|
|
|
|
|
|
1
|
|
d
|
|
1
|
|
u
|
|
1
|
|
m
|
|
1
|
|
m
|
|
1
|
|
y
|
|
1
|
|
|
|
|
|
%if hyper
|
|
1B2
|
|
%else
|
|
1b2
|
|
%endif
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="filename"
|
|
|
|
postit2.c
|
|
------------------------------
|
|
Content-Disposition: form-data; name="submit"
|
|
|
|
send
|
|
------------------------------
|
|
Content-Disposition: form-data; name="somename"; filename="somefile.txt"
|
|
Content-Type: text/plain
|
|
|
|
blah blah
|
|
--------------------------------
|
|
|
|
0
|
|
|
|
POST /%TESTNUMBER HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
Transfer-Encoding: chunked
|
|
Content-Type: multipart/form-data; boundary=----------------------------
|
|
Expect: 100-continue
|
|
|
|
%if hyper
|
|
8A
|
|
%else
|
|
8a
|
|
%endif
|
|
------------------------------
|
|
Content-Disposition: form-data; name="sendfile alternative"; filename="file name 2"
|
|
|
|
d
|
|
1
|
|
u
|
|
1
|
|
m
|
|
1
|
|
m
|
|
1
|
|
y
|
|
1
|
|
|
|
|
|
%if hyper
|
|
6B
|
|
%else
|
|
6b
|
|
%endif
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="callbackdata"
|
|
|
|
|
|
1
|
|
d
|
|
1
|
|
u
|
|
1
|
|
m
|
|
1
|
|
m
|
|
1
|
|
y
|
|
1
|
|
|
|
|
|
%if hyper
|
|
1B2
|
|
%else
|
|
1b2
|
|
%endif
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="filename"
|
|
|
|
postit2.c
|
|
------------------------------
|
|
Content-Disposition: form-data; name="submit"
|
|
|
|
send
|
|
------------------------------
|
|
Content-Disposition: form-data; name="somename"; filename="somefile.txt"
|
|
Content-Type: text/plain
|
|
|
|
blah blah
|
|
--------------------------------
|
|
|
|
0
|
|
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|