Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_SU...CT_HEADERS(3)  Library Functions Manual  CURLOPT_SU...CT_HEADERS(3)

NAME
     CURLOPT_SUPPRESS_CONNECT_HEADERS - suppress proxy CONNECT response headers

SYNOPSIS
     #include <curl/curl.h>

     CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SUPPRESS_CONNECT_HEADERS, long onoff);

DESCRIPTION
     When CURLOPT_HTTPPROXYTUNNEL(3) is used and a CONNECT request is made, sup-
     press  proxy CONNECT response headers from the user callback functions CUR-
     LOPT_HEADERFUNCTION(3) and CURLOPT_WRITEFUNCTION(3).

     Proxy CONNECT response headers can complicate header processing since it is
     essentially a separate set of headers. You can enable this option	to  sup-
     press those headers.

     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  sup-
     pressed, so the data given to the callbacks would look like this:

     HTTP/1.1 200 OK
     Content-Type: application/json
     {headers}
     ...

     {body}
     ...

DEFAULT
     0

PROTOCOLS
     This functionality affects all supported protocols

EXAMPLE
     int main(void)
     {
       CURL *curl = curl_easy_init();
       if(curl) {
	 CURLcode result;
	 curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");

	 curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
	 curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy.example:3128");
	 curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 1L);
	 curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, 1L);

	 result = curl_easy_perform(curl);

	 /* always cleanup */
	 curl_easy_cleanup(curl);
       }
     }

AVAILABILITY
     Added in curl 7.54.0

RETURN VALUE
     CURLE_OK or an error such as CURLE_UNKNOWN_OPTION.

SEE ALSO
     CURLOPT_HEADER(3), CURLOPT_HTTPPROXYTUNNEL(3), CURLOPT_PROXY(3)

libcurl 			   2026-06-11	      CURLOPT_SU...CT_HEADERS(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=CURLOPT_SUPPRESS_CONNECT_HEADERS&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help