mirror of
https://github.com/curl/curl.git
synced 2024-12-15 06:40:09 +08:00
452203341d
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
65 lines
836 B
Plaintext
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>
|