curl/docs
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
..
cmdline-opts gen.pl: make the "manpageification" faster 2024-03-05 10:54:23 +01:00
examples misc: Fix typos in docs and lib 2024-03-01 09:59:48 +01:00
libcurl misc: Fix typos in docs and lib 2024-03-01 09:59:48 +01:00
.gitignore docs: introduce "curldown" for libcurl man page format 2024-01-23 00:29:02 +01:00
ALTSVC.md ALTSVC.md: correct a typo 2024-02-05 22:26:14 +01:00
BINDINGS.md BINDINGS: add mcurl, the python binding 2024-02-19 17:01:00 +01:00
BUFQ.md docs: use present tense 2024-02-27 09:47:21 +01:00
BUFREF.md docs: use present tense 2024-02-27 09:47:21 +01:00
BUG-BOUNTY.md docs: use present tense 2024-02-27 09:47:21 +01:00
BUGS.md docs: use present tense 2024-02-27 09:47:21 +01:00
CHECKSRC.md docs: use present tense 2024-02-27 09:47:21 +01:00
CIPHERS.md docs: use present tense 2024-02-27 09:47:21 +01:00
CLIENT-READERS.md lib: enhance client reader resume + rewind 2024-03-05 13:26:05 +01:00
CLIENT-WRITERS.md docs: use present tense 2024-02-27 09:47:21 +01:00
CMakeLists.txt cmake: rework options to enable curl and libcurl docs 2024-01-24 23:22:27 +00:00
CODE_OF_CONDUCT.md docs: Update to secure URL versions 2017-09-04 14:08:54 +00:00
CODE_REVIEW.md docs: spellfixes 2022-09-21 15:20:08 +02:00
CODE_STYLE.md docs: use present tense 2024-02-27 09:47:21 +01:00
CONNECTION-FILTERS.md misc: Fix typos in docs and lib 2024-03-01 09:59:48 +01:00
CONTRIBUTE.md CONTRIBUTE: update the section on documentation format 2024-03-05 10:53:21 +01:00
curl-config.md curldown: Fix email address in Copyright 2024-02-28 11:28:10 +01:00
CURL-DISABLE.md lib: add ability to disable auths individually 2023-09-07 17:45:06 +02:00
CURLDOWN.md curldown: Fix email address in Copyright 2024-02-28 11:28:10 +01:00
DEPRECATE.md docs: use present tense 2024-02-27 09:47:21 +01:00
DYNBUF.md docs: use present tense 2024-02-27 09:47:21 +01:00
EARLY-RELEASE.md docs: use present tense 2024-02-27 09:47:21 +01:00
EXPERIMENTAL.md docs: use present tense 2024-02-27 09:47:21 +01:00
FAQ tidy-up: use more example domains 2023-09-29 18:25:56 +00:00
FEATURES.md badwords: use hostname, not host name 2024-02-07 08:25:52 +01:00
GOVERNANCE.md docs: use present tense 2024-02-27 09:47:21 +01:00
HELP-US.md docs: use present tense 2024-02-27 09:47:21 +01:00
HISTORY.md docs: introduce "curldown" for libcurl man page format 2024-01-23 00:29:02 +01:00
HSTS.md docs: use present tense 2024-02-27 09:47:21 +01:00
HTTP2.md docs: use present tense 2024-02-27 09:47:21 +01:00
HTTP3.md docs: more language cleanups 2024-02-27 16:19:43 +01:00
HTTP-COOKIES.md docs: use present tense 2024-02-27 09:47:21 +01:00
HYPER.md docs: use present tense 2024-02-27 09:47:21 +01:00
INSTALL INSTALL: converted to markdown => INSTALL.md 2016-10-21 15:57:29 +02:00
INSTALL-CMAKE.md docs: use present tense 2024-02-27 09:47:21 +01:00
INSTALL.md docs: Update minimal binary size in INSTALL.md 2024-03-01 01:16:24 -08:00
INTERNALS.md gskit: remove 2023-08-07 20:57:48 +02:00
IPFS.md docs: use present tense 2024-02-27 09:47:21 +01:00
KNOWN_BUGS KNOWN_BUGS: IMAPS connection fails with rustls error 2024-02-27 17:50:25 +01:00
MAIL-ETIQUETTE docs: more language cleanups 2024-02-27 16:19:43 +01:00
Makefile.am lib: Curl_read/Curl_write clarifications 2024-02-28 12:58:55 +01:00
MANUAL.md docs: use present tense 2024-02-27 09:47:21 +01:00
mk-ca-bundle.md curldown: Fix email address in Copyright 2024-02-28 11:28:10 +01:00
MQTT.md docs: use present tense 2024-02-27 09:47:21 +01:00
NEW-PROTOCOL.md docs: use present tense 2024-02-27 09:47:21 +01:00
options-in-versions curl: add support for the IPFS protocols: 2023-09-23 11:02:10 +02:00
PARALLEL-TRANSFERS.md docs: use present tense 2024-02-27 09:47:21 +01:00
README.md docs: use present tense 2024-02-27 09:47:21 +01:00
RELEASE-PROCEDURE.md docs: use present tense 2024-02-27 09:47:21 +01:00
ROADMAP.md spellcheck.words: remove 'github' as an accepted word 2022-10-27 15:53:11 +02:00
RUSTLS.md rustls: make curl compile with 0.12.0 2024-02-26 08:59:43 +01:00
SECURITY-ADVISORY.md docs: use present tense 2024-02-27 09:47:21 +01:00
SSL-PROBLEMS.md docs: use present tense 2024-02-27 09:47:21 +01:00
SSLCERTS.md docs: more language cleanups 2024-02-27 16:19:43 +01:00
THANKS THANKS: add bug reporter from #740 2024-02-23 10:13:03 +01:00
THANKS-filter THANKS: add contributors from 8.4.0 2023-10-11 07:34:19 +02:00
TheArtOfHttpScripting.md docs: use present tense 2024-02-27 09:47:21 +01:00
TODO TODO: build HTTP/3 with OpenSSL and nghttp3 using cmake 2024-02-27 17:43:22 +01:00
URL-SYNTAX.md docs: use present tense 2024-02-27 09:47:21 +01:00
VERSIONS.md docs: use present tense 2024-02-27 09:47:21 +01:00
VULN-DISCLOSURE-POLICY.md docs: use present tense 2024-02-27 09:47:21 +01:00
WEBSOCKET.md docs: use present tense 2024-02-27 09:47:21 +01:00

curl logo

Documentation

You find a mix of various documentation in this directory and subdirectories, using several different formats. Some of them are not ideal for reading directly in your browser.

If you would rather see the rendered version of the documentation, check out the curl website's documentation section for general curl stuff or the libcurl section for libcurl related documentation.