GNURLOPT_SUPPRESS_CONNECT_HEADERS(3)
π GNURLOPT_SUPPRESS_CONNECT_HEADERS(3) π
okay bestie, this page is from the curl_easy_setopt options manual π and it's literally about making proxy CONNECT headers stop crashing the callback party.
π NAME π
CURLOPT_SUPPRESS_CONNECT_HEADERSβ suppresses proxy CONNECT response headers from your user callbacks, periodt β¨
π¦ SYNOPSIS π¦
#include <gnurl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SUPPRESS_CONNECT_HEADERS, long onoff);
πΈ DESCRIPTION πΈ
So here's the tea π«: when CURLOPT_HTTPPROXYTUNNEL(3) is used and a CONNECT request is made, this option suppresses the proxy CONNECT response headers from the user callback functions CURLOPT_HEADERFUNCTION(3) and CURLOPT_WRITEFUNCTION(3). π
Why? Because proxy CONNECT response headers can make header processing complicated β it's essentially a separate set of headers. You can enable this option to suppress those headers. Iconic, honestly. π
For example, let's assume an HTTPS URL is to be retrieved via CONNECT. On success there would normally be two sets of headers, and each header line sent to the header function and/or the write function. The data given to the callbacks would look like this:
HTTP/1.1 200 Connection established
{headers}...
HTTP/1.1 200 OK
Content-Type: application/json
{headers}...
{body}...
However, by enabling this option the CONNECT response headers are suppressed, so the data given to the callbacks would look like this:
HTTP/1.1 200 OK
Content-Type: application/json
{headers}...
{body}...
πΌ DEFAULT πΌ
0 β that's the default, bestie π
π PROTOCOLS π
All β every protocol, slay π
π₯ EXAMPLE π₯
CURL *curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
curl_easy_setopt(curl, CURLOPT_PROXY, "http://foo:3128");
curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 1L);
curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, 1L);
curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
}
β AVAILABILITY β
Added in 7.54.0 π
π RETURN VALUE π
Returns CURLE_OK, or an error such as CURLE_UNKNOWN_OPTION. π
π¦ SEE ALSO π¦
mwah π β this cutie comes from libcurl 7.54.0, dated 13 February 2017, and lives in the GNURLOPT_SUPPRESS_CONNECT_HEADERS(3) manual. byeee π«Άβ¨
π¦ where this page comes from
- nixos 26.05: libgnurl 7.72.0
- nixpkgs unstable: libgnurl 7.72.0
- Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms