- 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
|
||
|---|---|---|
| .. | ||
| cmdline-opts | ||
| examples | ||
| libcurl | ||
| .gitignore | ||
| ALTSVC.md | ||
| BINDINGS.md | ||
| BUFQ.md | ||
| BUFREF.md | ||
| BUG-BOUNTY.md | ||
| BUGS.md | ||
| CHECKSRC.md | ||
| CIPHERS.md | ||
| CLIENT-READERS.md | ||
| CLIENT-WRITERS.md | ||
| CMakeLists.txt | ||
| CODE_OF_CONDUCT.md | ||
| CODE_REVIEW.md | ||
| CODE_STYLE.md | ||
| CONNECTION-FILTERS.md | ||
| CONTRIBUTE.md | ||
| curl-config.md | ||
| CURL-DISABLE.md | ||
| CURLDOWN.md | ||
| DEPRECATE.md | ||
| DYNBUF.md | ||
| EARLY-RELEASE.md | ||
| EXPERIMENTAL.md | ||
| FAQ | ||
| FEATURES.md | ||
| GOVERNANCE.md | ||
| HELP-US.md | ||
| HISTORY.md | ||
| HSTS.md | ||
| HTTP2.md | ||
| HTTP3.md | ||
| HTTP-COOKIES.md | ||
| HYPER.md | ||
| INSTALL | ||
| INSTALL-CMAKE.md | ||
| INSTALL.md | ||
| INTERNALS.md | ||
| IPFS.md | ||
| KNOWN_BUGS | ||
| MAIL-ETIQUETTE | ||
| Makefile.am | ||
| MANUAL.md | ||
| mk-ca-bundle.md | ||
| MQTT.md | ||
| NEW-PROTOCOL.md | ||
| options-in-versions | ||
| PARALLEL-TRANSFERS.md | ||
| README.md | ||
| RELEASE-PROCEDURE.md | ||
| ROADMAP.md | ||
| RUSTLS.md | ||
| SECURITY-ADVISORY.md | ||
| SSL-PROBLEMS.md | ||
| SSLCERTS.md | ||
| THANKS | ||
| THANKS-filter | ||
| TheArtOfHttpScripting.md | ||
| TODO | ||
| URL-SYNTAX.md | ||
| VERSIONS.md | ||
| VULN-DISCLOSURE-POLICY.md | ||
| WEBSOCKET.md | ||
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.