aboutsummaryrefslogtreecommitdiff
path: root/tests/data/test670
diff options
context:
space:
mode:
authorPatrick Monnerat <patrick@monnerat.net>2020-01-21 01:33:04 +0100
committerDaniel Stenberg <daniel@haxx.se>2020-03-02 00:00:50 +0100
commit87869e38d7afdec3ef1bb4965711458b088e254f (patch)
tree7da06feb40bf6ee89024a52f7f6a54fb33d44e8c /tests/data/test670
parentcf1466bd473e06812dce0c3880f7e4af169e9e72 (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/test67072
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>