lib: move handling of data->req.writer_stack into Curl_client_write()

- move definitions from content_encoding.h to sendf.h
- move create/cleanup/add code into sendf.c
- installed content_encoding writers will always be called
  on Curl_client_write(CLIENTWRITE_BODY)
- Curl_client_cleanup() frees writers and tempbuffers from
  paused transfers, irregardless of protocol

Closes #11908
This commit is contained in:
Stefan Eissing 2023-09-20 11:59:16 +02:00 committed by Daniel Stenberg
parent d39863d27a
commit 0bd9e137e3
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
10 changed files with 205 additions and 182 deletions

View file

@ -175,10 +175,7 @@ CHUNKcode Curl_httpchunk_read(struct Curl_easy *data,
/* Write the data portion available */
if(!data->set.http_te_skip && !k->ignorebody) {
if(!data->set.http_ce_skip && k->writer_stack)
result = Curl_unencode_write(data, k->writer_stack, datap, piece);
else
result = Curl_client_write(data, CLIENTWRITE_BODY, datap, piece);
result = Curl_client_write(data, CLIENTWRITE_BODY, datap, piece);
if(result) {
*extrap = result;