]> git.ipfire.org Git - thirdparty/curl.git/commit
http2: polish things around POST
authorStefan Eissing <stefan@eissing.org>
Tue, 29 Aug 2023 11:08:35 +0000 (13:08 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 4 Sep 2023 17:48:49 +0000 (19:48 +0200)
commit331b89a319d0067fa1e6441719307cfef9c7960f
treedc6425b7e12354652b364f99c00ff6fce70ec472
parentc9260cf9fe994d30d5e0b6bb4e454553dce0617b
http2: polish things around POST

- added test cases for various code paths
- fixed handling of blocked write when stream had
  been closed inbetween attempts
- re-enabled DEBUGASSERT on send with smaller data size

- in debug builds, environment variables can be set to simulate a slow
  network when sending data. cf-socket.c and vquic.c support
  * CURL_DBG_SOCK_WBLOCK: percentage of send() calls that should be
    answered with a EAGAIN. TCP/UNIX sockets.
    This is chosen randomly.
  * CURL_DBG_SOCK_WPARTIAL: percentage of data that shall be written
    to the network. TCP/UNIX sockets.
    Example: 80 means a send with 1000 bytes would only send 800
    This is applied to every send.
  * CURL_DBG_QUIC_WBLOCK: percentage of send() calls that should be
    answered with EAGAIN. QUIC only.
    This is chosen randomly.

Closes #11756
23 files changed:
.github/workflows/ngtcp2-linux.yml
lib/cf-h2-proxy.c
lib/cf-socket.c
lib/http2.c
lib/multi.c
lib/transfer.c
lib/vquic/curl_ngtcp2.c
lib/vquic/curl_quiche.c
lib/vquic/vquic.c
lib/vquic/vquic_int.h
lib/vtls/wolfssl.c
tests/http/test_01_basic.py
tests/http/test_02_download.py
tests/http/test_04_stuttered.py
tests/http/test_07_upload.py
tests/http/test_07_upload.py.orig [new file with mode: 0644]
tests/http/test_08_caddy.py
tests/http/test_10_proxy.py
tests/http/test_13_proxy_auth.py
tests/http/test_14_auth.py
tests/http/testenv/curl.py
tests/http/testenv/env.py
tests/http/testenv/httpd.py