diff options
author | Patrick Monnerat <patrick@monnerat.net> | 2020-01-21 01:33:04 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-03-02 00:00:50 +0100 |
commit | 87869e38d7afdec3ef1bb4965711458b088e254f (patch) | |
tree | 7da06feb40bf6ee89024a52f7f6a54fb33d44e8c /tests/data/test670 | |
parent | cf1466bd473e06812dce0c3880f7e4af169e9e72 (diff) |
mime: latch last read callback status.
In case a read callback returns a status (pause, abort, eof,
error) instead of a byte count, drain the bytes read so far but
remember this status for further processing.
Takes care of not losing data when pausing, and properly resume a
paused mime structure when requested.
New tests 670-673 check unpausing cases, with easy or multi
interface and mime or form api.
Fixes #4813
Reported-by: MrdUkk on github
Closes #4833
Diffstat (limited to 'tests/data/test670')
-rw-r--r-- | tests/data/test670 | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/data/test670 b/tests/data/test670 new file mode 100644 index 000000000..19a51a4e0 --- /dev/null +++ b/tests/data/test670 @@ -0,0 +1,72 @@ +<testcase> +<info> +<keywords> +HTTP +HTTP POST +MIME +</keywords> +</info> + +# +# Server-side +<reply> +<data> +HTTP/1.1 200 OK
+Date: Thu, 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: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Connection: close
+Content-Type: text/html
+
+hello +</datacheck> +</reply> + +# Client-side +<client> +<server> +http +</server> +# tool is what to use instead of 'curl' +<tool> +lib670 +</tool> + + <name> +Request pause from mime read callback: multi + </name> + <command> +http://%HOSTIP:%HTTPPORT/670 +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strippart> +s/^--------------------------[a-z0-9]*/------------------------------/ +s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/ +</strippart> +<protocol> +POST /670 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 142
+Content-Type: multipart/form-data; boundary=----------------------------
+
+------------------------------
+Content-Disposition: form-data; name="field"
+
+AB
+--------------------------------
+</protocol> +</verify> +</testcase> |