mirror of
https://github.com/curl/curl.git
synced 2026-08-05 08:46:15 +03:00
chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error
Unknown content-encoding would get returned as CURLE_WRITE_ERROR if the response is chunked-encoded. Reported-by: Ilya Kosarev Fixes #4310 Closes #4449
This commit is contained in:
parent
ac830139da
commit
f0f053fed0
5 changed files with 39 additions and 24 deletions
|
|
@ -384,11 +384,12 @@ static CURLcode CONNECT(struct connectdata *conn,
|
|||
/* chunked-encoded body, so we need to do the chunked dance
|
||||
properly to know when the end of the body is reached */
|
||||
CHUNKcode r;
|
||||
CURLcode extra;
|
||||
ssize_t tookcareof = 0;
|
||||
|
||||
/* now parse the chunked piece of data so that we can
|
||||
properly tell when the stream ends */
|
||||
r = Curl_httpchunk_read(conn, s->ptr, 1, &tookcareof);
|
||||
r = Curl_httpchunk_read(conn, s->ptr, 1, &tookcareof, &extra);
|
||||
if(r == CHUNKE_STOP) {
|
||||
/* we're done reading chunks! */
|
||||
infof(data, "chunk reading DONE\n");
|
||||
|
|
@ -455,6 +456,7 @@ static CURLcode CONNECT(struct connectdata *conn,
|
|||
}
|
||||
else if(s->chunked_encoding) {
|
||||
CHUNKcode r;
|
||||
CURLcode extra;
|
||||
|
||||
infof(data, "Ignore chunked response-body\n");
|
||||
|
||||
|
|
@ -472,7 +474,8 @@ static CURLcode CONNECT(struct connectdata *conn,
|
|||
|
||||
/* now parse the chunked piece of data so that we can
|
||||
properly tell when the stream ends */
|
||||
r = Curl_httpchunk_read(conn, s->line_start + 1, 1, &gotbytes);
|
||||
r = Curl_httpchunk_read(conn, s->line_start + 1, 1, &gotbytes,
|
||||
&extra);
|
||||
if(r == CHUNKE_STOP) {
|
||||
/* we're done reading chunks! */
|
||||
infof(data, "chunk reading DONE\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue