curl/docs
Stefan Eissing 3e64569a9e
websocket: introduce blocking sends
When using `curl_ws_send()`, perform a blocking send of the data under
the following conditions:

- the websocket is in raw mode and the call is done from within a curl
  callback. A partial write of the data could subsequently mess up the
  ws framing, as a callback has a hard time handling this.

- the websocket is encoding the data itself, has added it to its
  internal sendbuf. A partial flush of the buffer has unclear semantics
  for the caller, as they will have no idea what to send again.

Fixes WebSockets tests with CURL_DBG_SOCK_WBLOCK=90 set.
Closes #14458
2024-08-12 19:19:28 +02:00
..
cmdline-opts docs/cmdline: refer to --show-headers instead of --include 2024-08-12 12:54:03 +02:00
examples build: tidy up internal macro names for libcurl.pc 2024-08-12 14:56:41 +02:00
libcurl websocket: introduce blocking sends 2024-08-12 19:19:28 +02:00
.gitignore docs: add RELEASE-TOOLS.md.dist to .gitignore 2024-07-01 22:49:55 +02:00
ALTSVC.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
BINDINGS.md BINDINGS: add zig binding 2024-08-07 14:51:09 +02:00
BUFQ.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
BUFREF.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
BUG-BOUNTY.md BUG-BOUNTY.md: clarify the third party situation 2024-05-14 16:23:42 +02:00
BUGS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
CHECKSRC.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
CIPHERS.md docs: wolfssl and mbedtls add CURLOPT_TLS13_CIPHERS support 2024-08-05 23:29:11 +02:00
CLIENT-READERS.md CI: add whitespace checker 2024-06-27 13:33:30 +02:00
CLIENT-WRITERS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
CMakeLists.txt cmake: more syntax tidy-up 2024-08-07 23:41:27 +02:00
CODE_OF_CONDUCT.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
CODE_REVIEW.md docs: misc language polish 2024-07-01 16:45:17 +02:00
CODE_STYLE.md tidy-up: OS names 2024-08-04 19:17:45 +02:00
CONNECTION-FILTERS.md CI: add whitespace checker 2024-06-27 13:33:30 +02:00
CONTRIBUTE.md reuse: switch to REUSE 3.2 and REUSE.toml 2024-07-05 20:47:48 +02:00
curl-config.md curldown: make 'added-in:' a mandatory header field 2024-07-18 18:04:09 +02:00
CURL-DISABLE.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
CURLDOWN.md curldown: fixups 2024-07-19 17:03:25 +02:00
DEPRECATE.md DEPRECATE.md: remove hyper after February 2025 2024-08-12 09:55:56 +02:00
DISTROS.md DISTROS: add AlmaLinux package source link 2024-07-11 12:52:58 -07:00
DYNBUF.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
EARLY-RELEASE.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
ECH.md tidy-up: adjust casing of project names 2024-07-12 13:56:16 +02:00
EXPERIMENTAL.md EXPERIMENTAL: add graduation requirements for each feature 2024-05-06 17:05:04 +02:00
FAQ tidy-up: OS names 2024-08-04 19:17:45 +02:00
FEATURES.md tidy-up: OS names 2024-08-04 19:17:45 +02:00
GOVERNANCE.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
HELP-US.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
HISTORY.md HISTORY: fill in some events from recent years 2024-08-09 08:17:26 +02:00
HSTS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
HTTP2.md tidy-up: adjust casing of project names 2024-07-12 13:56:16 +02:00
HTTP3.md docs: start markdown headers with capital letter where applicable 2024-07-10 16:24:25 +02:00
HTTP-COOKIES.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
HYPER.md docs: start markdown headers with capital letter where applicable 2024-07-10 16:24:25 +02:00
INSTALL INSTALL: converted to markdown => INSTALL.md 2016-10-21 15:57:29 +02:00
INSTALL-CMAKE.md tidy-up: adjust casing of project names 2024-07-12 13:56:16 +02:00
INSTALL.md tidy-up: OS names 2024-08-04 19:17:45 +02:00
INTERNALS.md tidy-up: OS names 2024-08-04 19:17:45 +02:00
IPFS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
KNOWN_BUGS idn: more strictly check AppleIDN errors 2024-08-07 14:59:07 +02:00
LLIST.md llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
MAIL-ETIQUETTE.md docs/MAIL-ETIQUETTE: convert to markdown 2024-03-31 15:32:27 +02:00
Makefile.am llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
MANUAL.md MANUAL.md: wrap two example urls that overrun styling 2024-07-10 23:39:39 +02:00
mk-ca-bundle.md curldown: make 'added-in:' a mandatory header field 2024-07-18 18:04:09 +02:00
MQTT.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
NEW-PROTOCOL.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
options-in-versions curl: add --skip-existing 2024-08-04 23:28:09 +02:00
PARALLEL-TRANSFERS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
README.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
RELEASE-PROCEDURE.md RELEASE-PROCEDURE.md: restore next release date 2024-07-24 09:10:53 +02:00
ROADMAP.md CI: add whitespace checker 2024-06-27 13:33:30 +02:00
RUSTLS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
SECURITY-ADVISORY.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
SPONSORS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
SSL-PROBLEMS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
SSLCERTS.md tidy-up: OS names 2024-08-04 19:17:45 +02:00
THANKS THANKS: add names from the 8.9.1 release notes 2024-07-31 08:50:04 +02:00
THANKS-filter THANKS: add names from the 8.9.1 release notes 2024-07-31 08:50:04 +02:00
TheArtOfHttpScripting.md code: language cleanup in comments 2024-07-01 22:58:55 +02:00
TODO websocket: introduce blocking sends 2024-08-12 19:19:28 +02:00
URL-SYNTAX.md tidy-up: OS names 2024-08-04 19:17:45 +02:00
VERSIONS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
VULN-DISCLOSURE-POLICY.md VULN-DISCLOSURE-POLICY.md: small typo fix 2024-08-05 17:15:31 +02: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.