curl/scripts
Stefan Eissing 14bcea074a
lib: enhance client reader resume + rewind
- update client reader documentation
- client reader, add rewind capabilities
    - tell creader to rewind on next start
    - Curl_client_reset() will keep reader for future rewind if requested
    - add Curl_client_cleanup() for freeing all resources independent of
      rewinds
    - add Curl_client_start() to trigger rewinds
    - move rewind code from multi.c to sendf.c and make part of
      "cr-in"'s implementation
- http, move the "resume_from" handling into the client readers
    - the setup of a HTTP request is reshuffled to follow:
      * determine method, target, auth negotiation
      * install the client reader(s) for the request, including crlf
        conversions and "chunked" encoding
      * apply ranges to client reader
      * concat request headers, upgrades, cookies, etc.
      * complete request by determining Content-Length of installed
        readers in combination with method
      * send
    - add methods for client readers to
      * return the overall length they will generate (or -1 when unknown)
      * return the amount of data on the CLIENT level, so that
        expect-100 can decide if it want to apply itself
      * set a "resume_from" offset or fail if unsupported
    - struct HTTP has become largely empty now
- rename `Client_reader_*` to `Curl_creader_*`

Closes #13026
2024-03-05 13:26:05 +01:00
..
cd2cd docs: introduce "curldown" for libcurl man page format 2024-01-23 00:29:02 +01:00
cd2nroff cd2nroff: gen: make \> in input to render as plain '>' in output 2024-02-23 13:48:14 +01:00
cdall docs: introduce "curldown" for libcurl man page format 2024-01-23 00:29:02 +01:00
checksrc.pl checksrc.pl: fix handling .checksrc with CRLF 2024-02-18 01:59:44 -05:00
ciconfig.pl autotools: update references to deleted crypt-auth option 2023-10-25 12:45:43 +00:00
cijobs.pl scripts: Fix cijobs.pl for Azure and GHA 2024-02-09 14:48:24 -08:00
cmp-config.pl misc: Fix typos in docs and lib 2024-03-01 09:59:48 +01:00
completion.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
contributors.sh scripts/contri*sh: no longer grep -v ' ' 2023-05-26 08:36:41 +02:00
contrithanks.sh scripts/contri*sh: no longer grep -v ' ' 2023-05-26 08:36:41 +02:00
copyright.pl zuul: stop using this CI service 2023-01-30 15:42:15 +01:00
coverage.sh copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
delta misc: remove duplicate words 2023-08-29 10:39:31 +02:00
firefox-db2pem.sh copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
installcheck.sh scripts: set file mode +x on all perl and shell scripts 2023-01-05 02:34:24 -05:00
log2changes.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
Makefile.am configure: Don't build shell completions when disabled 2024-03-02 16:36:15 -08:00
mk-ca-bundle.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
nroff2cd docs: introduce "curldown" for libcurl man page format 2024-01-23 00:29:02 +01:00
release-notes.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
schemetable.c scripts: add schemetable.c 2023-11-19 13:57:31 +01:00
singleuse.pl lib: enhance client reader resume + rewind 2024-03-05 13:26:05 +01:00