http: move headers collecting to writer

- add a client writer that does "push" response
  headers written to the client if the headers api
  is enabled
- remove special handling in sendf.c
- needs to be installed very early on connection
  setup to catch CONNECT response headers

Closes #12880
This commit is contained in:
Stefan Eissing 2024-02-06 13:55:07 +01:00 committed by Daniel Stenberg
parent 5b41fac587
commit 2abfa3833b
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
6 changed files with 90 additions and 19 deletions

View file

@ -73,6 +73,7 @@
#include "hostip.h"
#include "dynhds.h"
#include "http.h"
#include "headers.h"
#include "select.h"
#include "parsedate.h" /* for the week day and month names */
#include "strtoofft.h"
@ -3131,6 +3132,13 @@ CURLcode Curl_http(struct Curl_easy *data, bool *done)
break;
}
/* Add collecting of headers written to client. For a new connection,
* we might have done that already, but reuse
* or multiplex needs it here as well. */
result = Curl_headers_init(data);
if(result)
goto fail;
http = data->req.p.http;
DEBUGASSERT(http);