curl/tests/data/test1540
Daniel Stenberg 452203341d pause: handle mixed types of data when paused
When receiving chunked encoded data with trailers, and the write
callback returns PAUSE, there might be both body and header to store to
resend on unpause. Previously libcurl returned error for that case.

Added test case 1540 to verify.

Reported-by: Stephen Toub
Fixes #1354
Closes #1357
2017-03-28 13:27:49 +02:00

65 lines
836 B
Plaintext

<testcase>
<info>
<keywords>
HTTP
HTTP GET
CURLPAUSE_RECV
chunked encoding
Trailer:
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.1 200 OK swsclose
Transfer-Encoding: chunked
Trailer: MyCoolTrailerHeader
4
data
5
d474
0
MyCoolTrailerHeader: amazingtrailer
</data>
<datacheck>
HTTP/1.1 200 OK swsclose
Transfer-Encoding: chunked
Trailer: MyCoolTrailerHeader
Got 4 bytes but pausing!
datad474
MyCoolTrailerHeader: amazingtrailer
</datacheck>
</reply>
# Client-side
<client>
<server>
http
</server>
<tool>
lib1540
</tool>
<name>
chunked with trailers and pausing the receive
</name>
<command>
http://%HOSTIP:%HTTPPORT/1540
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
GET /1540 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</protocol>
</verify>
</testcase>