http2: support HTTP/2 to forward proxies, non-tunneling

- with `--proxy-http2` allow h2 ALPN negotiation to
  forward proxies
- applies to http: requests against a https: proxy only,
  as https: requests will auto-tunnel
- adding a HTTP/1 request parser in http1.c
- removed h2h3.c
- using new request parser in nghttp2 and all h3 backends
- adding test 2603 for request parser
- adding h2 proxy test cases to test_10_*

scorecard.py: request scoring accidentally always run curl
with '-v'. Removed that, expect double numbers.

labeller: added http1.* and h2-proxy sources to detection

Closes #10967
This commit is contained in:
Stefan Eissing 2023-04-14 11:38:14 +02:00 committed by Daniel Stenberg
parent fb1d62ff07
commit fc2f1e547a
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
28 changed files with 1522 additions and 824 deletions

3
.github/labeler.yml vendored
View file

@ -156,8 +156,9 @@ HTTP:
- all: ['docs/libcurl/opts/CURLOPT_TRAILER*']
- all: ['docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING*']
- all: ['lib/cf-https*']
- all: ['lib/cf-h1*']
- all: ['lib/cf-h2*']
- all: ['lib/cookie.*']
- all: ['lib/h2h3.*']
- all: ['lib/http*']
- all: ['tests/http*']
- all: ['tests/http-server.pl']