curl: add --proxy-http2

For trying HTTP/2 with an HTTPS proxy.

Closes #10926
This commit is contained in:
Daniel Stenberg 2023-04-11 11:20:12 +02:00
parent c39f981ff4
commit e39754f6a2
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
5 changed files with 31 additions and 2 deletions

View file

@ -211,6 +211,7 @@ static const struct LongShort aliases[]= {
{"04", "http3", ARG_NONE},
{"05", "http3-only", ARG_NONE},
{"09", "http0.9", ARG_BOOL},
{"0a", "proxy-http2", ARG_BOOL},
{"1", "tlsv1", ARG_NONE},
{"10", "tlsv1.0", ARG_NONE},
{"11", "tlsv1.1", ARG_NONE},
@ -1449,6 +1450,10 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
/* Allow HTTP/0.9 responses! */
config->http09_allowed = toggle;
break;
case 'a':
/* --proxy-http2 */
config->proxyver = CURLPROXY_HTTPS2;
break;
}
break;
case '1': /* --tlsv1* options */
@ -2373,7 +2378,8 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
default:
/* --proxy */
GetStr(&config->proxy, nextarg);
config->proxyver = CURLPROXY_HTTP;
if(config->proxyver != CURLPROXY_HTTPS2)
config->proxyver = CURLPROXY_HTTP;
break;
}
break;

View file

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) Daniel Stenberg, <daniel.se>, et al.
* Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -498,6 +498,9 @@ const struct helptxt helptext[] = {
{" --proxy-header <header/@file>",
"Pass custom header(s) to proxy",
CURLHELP_PROXY},
{" --proxy-http2",
"Use HTTP/2 with HTTPS proxy",
CURLHELP_HTTP | CURLHELP_PROXY},
{" --proxy-insecure",
"Do HTTPS proxy connections without verifying the proxy",
CURLHELP_PROXY | CURLHELP_TLS},