CURLOPT_HEADEROPT (3) - Linux Man Pages
CURLOPT_HEADEROPT: set how to send HTTP headers
NAMECURLOPT_HEADEROPT - set how to send HTTP headers
DESCRIPTIONPass a long that is a bitmask of options of how to deal with headers. The two mutually exclusive options are:
CURLHEADER_UNIFIED - keep working as before. This means CURLOPT_HTTPHEADER(3) headers will be used in requests both to servers and proxies. With this option enabled, CURLOPT_PROXYHEADER(3) will not have any effect.
CURLHEADER_SEPARATE - makes CURLOPT_HTTPHEADER(3) headers only get sent to a server and not to a proxy. Proxy headers must be set with CURLOPT_PROXYHEADER(3) to get used. Note that if a non-CONNECT request is sent to a proxy, libcurl will send both server headers and proxy headers. When doing CONNECT, libcurl will send CURLOPT_PROXYHEADER(3) headers only to the proxy and then CURLOPT_HTTPHEADER(3) headers only to the server.