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
244 lines
4.8 KiB
Plaintext
244 lines
4.8 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP POST
|
|
FORM
|
|
</keywords>
|
|
</info>
|
|
|
|
#
|
|
# Server-side
|
|
<reply>
|
|
<data nocheck="yes">
|
|
HTTP/1.1 301 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake swsclose
|
|
Connection: close
|
|
Content-Type: text/html
|
|
Location: /%TESTNUMBER0002
|
|
|
|
hello
|
|
</data>
|
|
<data2 crlf="yes">
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Content-Length: 6
|
|
Connection: close
|
|
Content-Type: text/html
|
|
|
|
-foo-
|
|
</data2>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<features>
|
|
form-api
|
|
</features>
|
|
<server>
|
|
http
|
|
</server>
|
|
# tool is what to use instead of 'curl'
|
|
<tool>
|
|
lib%TESTNUMBER
|
|
</tool>
|
|
|
|
<name>
|
|
HTTP formpost using form API - with redirect and re-POST
|
|
</name>
|
|
<stdin>
|
|
Some data from stdin
|
|
</stdin>
|
|
<command>
|
|
http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/test%TESTNUMBER.filedata
|
|
</command>
|
|
<file name="%LOGDIR/test%TESTNUMBER.filedata">
|
|
This is data from a file.
|
|
</file>
|
|
</client>
|
|
|
|
#
|
|
# Verify data bbter 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
|
|
|
|
385
|
|
------------------------------
|
|
Content-Disposition: form-data; name="fieldname"
|
|
Content-Type: text/plain
|
|
X-customheader-1: Header 1 data
|
|
X-customheader-2: Header 2 data
|
|
|
|
this is what we post to the silly web server
|
|
------------------------------
|
|
Content-Disposition: form-data; name="fieldnam"
|
|
|
|
uhis is what we post to the silly web serve
|
|
------------------------------
|
|
Content-Disposition: form-data; name="multifile"
|
|
Content-Type: multipart/mixed; boundary=----------------------------
|
|
|
|
------------------------------
|
|
Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
|
|
Content-Type: application/octet-stream
|
|
|
|
This is data from a file.
|
|
|
|
------------------------------
|
|
Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
|
|
Content-Type: text/whatever
|
|
|
|
|
|
%if hyper
|
|
AB
|
|
%else
|
|
ab
|
|
%endif
|
|
This is data from a file.
|
|
|
|
------------------------------
|
|
Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
|
|
Content-Type: text/whatever
|
|
|
|
|
|
%if hyper
|
|
BB
|
|
%else
|
|
bb
|
|
%endif
|
|
This is data from a file.
|
|
|
|
--------------------------------
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="filecontents"
|
|
|
|
|
|
%if hyper
|
|
11B
|
|
%else
|
|
11b
|
|
%endif
|
|
This is data from a file.
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="formlength"
|
|
|
|
1433
|
|
------------------------------
|
|
Content-Disposition: form-data; name="standardinput"
|
|
Content-Type: application/octet-stream
|
|
|
|
|
|
16
|
|
Some data from stdin
|
|
|
|
36
|
|
|
|
--------------------------------
|
|
|
|
0
|
|
|
|
POST /%TESTNUMBER0002 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
Transfer-Encoding: chunked
|
|
Content-Type: multipart/form-data; boundary=----------------------------
|
|
Expect: 100-continue
|
|
|
|
385
|
|
------------------------------
|
|
Content-Disposition: form-data; name="fieldname"
|
|
Content-Type: text/plain
|
|
X-customheader-1: Header 1 data
|
|
X-customheader-2: Header 2 data
|
|
|
|
this is what we post to the silly web server
|
|
------------------------------
|
|
Content-Disposition: form-data; name="fieldnam"
|
|
|
|
uhis is what we post to the silly web serve
|
|
------------------------------
|
|
Content-Disposition: form-data; name="multifile"
|
|
Content-Type: multipart/mixed; boundary=----------------------------
|
|
|
|
------------------------------
|
|
Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
|
|
Content-Type: application/octet-stream
|
|
|
|
This is data from a file.
|
|
|
|
------------------------------
|
|
Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
|
|
Content-Type: text/whatever
|
|
|
|
|
|
%if hyper
|
|
AB
|
|
%else
|
|
ab
|
|
%endif
|
|
This is data from a file.
|
|
|
|
------------------------------
|
|
Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
|
|
Content-Type: text/whatever
|
|
|
|
|
|
%if hyper
|
|
BB
|
|
%else
|
|
bb
|
|
%endif
|
|
This is data from a file.
|
|
|
|
--------------------------------
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="filecontents"
|
|
|
|
|
|
%if hyper
|
|
11B
|
|
%else
|
|
11b
|
|
%endif
|
|
This is data from a file.
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="formlength"
|
|
|
|
1433
|
|
------------------------------
|
|
Content-Disposition: form-data; name="standardinput"
|
|
Content-Type: application/octet-stream
|
|
|
|
|
|
16
|
|
Some data from stdin
|
|
|
|
36
|
|
|
|
--------------------------------
|
|
|
|
0
|
|
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|