summaryrefslogtreecommitdiff
path: root/tests/data/test1591
diff options
context:
space:
mode:
authorAyoub Boudhar <a.boudhar@outlook.com>2018-12-06 10:18:03 +0100
committerDaniel Stenberg <daniel@haxx.se>2018-12-14 10:10:48 +0100
commitf464535bfdd9a83140d8a13c3fe3d937239d1c2a (patch)
treeda330b66fe21c30ef5821436fa53a56e5946b504 /tests/data/test1591
parent4531b299cc4771e6d2428fb22c1305f75db71666 (diff)
downloadcurl-f464535bfdd9a83140d8a13c3fe3d937239d1c2a.tar.gz
http: Implement trailing headers for chunked transfers
This adds the CURLOPT_TRAILERDATA and CURLOPT_TRAILERFUNCTION options that allow a callback based approach to sending trailing headers with chunked transfers. The test server (sws) was updated to take into account the detection of the end of transfer in the case of trailing headers presence. Test 1591 checks that trailing headers can be sent using libcurl. Closes #3350
Diffstat (limited to 'tests/data/test1591')
-rw-r--r--tests/data/test159163
1 files changed, 63 insertions, 0 deletions
diff --git a/tests/data/test1591 b/tests/data/test1591
new file mode 100644
index 000000000..e864fdbaa
--- /dev/null
+++ b/tests/data/test1591
@@ -0,0 +1,63 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP PUT
+CURLOPT_HTTPTRAILER_FUNCTION
+CURLOPT_HTTPTRAILER_DATA
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data nocheck="yes">
+HTTP/1.0 200 OK swsclose
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+</data>
+</reply>
+# Client-side
+<client>
+<features>
+HTTP
+</features>
+<server>
+http
+</server>
+<name>
+HTTP PUT with trailers at the end
+</name>
+<tool>
+lib1591
+</tool>
+<command>
+http://%HOSTIP:%HTTPPORT/bzz/1591
+</command>
+<stdin>
+more than one byte
+</stdin>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+PUT /bzz/1591 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Transfer-Encoding: chunked
+Trailer: my-super-awesome-trailer, my-other-awesome-trailer
+Expect: 100-continue
+
+e
+Hello Cloud!
+
+0
+my-super-awesome-trailer: trail1
+my-other-awesome-trailer: trail2
+
+</protocol>
+</verify>
+</testcase>