From: William Lallemand Date: Mon, 29 Apr 2024 15:10:47 +0000 (+0200) Subject: MINOR: httpclient: allow to use absolute URI with new flag HC_F_HTTPROXY X-Git-Tag: v3.0-dev10~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=95949e68687048f5aca3588b0a2714f1ef7bd6ad;p=thirdparty%2Fhaproxy.git MINOR: httpclient: allow to use absolute URI with new flag HC_F_HTTPROXY The new HC_F_HTTPPROXY flag allows to use an absolute URI within a request that won't be modified in order to use an http proxy. --- diff --git a/include/haproxy/http_client-t.h b/include/haproxy/http_client-t.h index 7ae0e612f0..2c07f7795b 100644 --- a/include/haproxy/http_client-t.h +++ b/include/haproxy/http_client-t.h @@ -64,6 +64,7 @@ enum { #define HC_F_RES_HDR 0x02 #define HC_F_RES_BODY 0x04 #define HC_F_RES_END 0x08 +#define HC_F_HTTPPROXY 0x10 #endif /* ! _HAPROXY_HTTCLIENT__T_H */ diff --git a/src/http_client.c b/src/http_client.c index 96ddd03783..d8327804ef 100644 --- a/src/http_client.c +++ b/src/http_client.c @@ -277,10 +277,13 @@ int httpclient_req_gen(struct httpclient *hc, const struct ist url, enum http_me struct htx *htx; int err_code = 0; struct ist meth_ist, vsn; - unsigned int flags = HTX_SL_F_VER_11 | HTX_SL_F_NORMALIZED_URI | HTX_SL_F_HAS_SCHM; + unsigned int flags = HTX_SL_F_VER_11 | HTX_SL_F_HAS_SCHM | HTX_SL_F_HAS_AUTHORITY; int i; int foundhost = 0, foundaccept = 0, foundua = 0; + if (!(hc->flags & HC_F_HTTPPROXY)) + flags |= HTX_SL_F_NORMALIZED_URI; + if (!b_alloc(&hc->req.buf)) goto error;