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

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_ALTSVC_CTRL(3)	   curl_easy_setopt options	CURLOPT_ALTSVC_CTRL(3)

NAME
       CURLOPT_ALTSVC_CTRL - control alt-svc behavior

SYNOPSIS
       #include	<curl/curl.h>

       #define CURLALTSVC_IMMEDIATELY  (1<<0)
       #define CURLALTSVC_READONLYFILE (1<<2)
       #define CURLALTSVC_H1	       (1<<3)
       #define CURLALTSVC_H2	       (1<<4)
       #define CURLALTSVC_H3	       (1<<5)

       CURLcode	curl_easy_setopt(CURL *handle, CURLOPT_ALTSVC_CTRL, long bitmask);

EXPERIMENTAL
       Warning:	 this  feature is early	code and is marked as experimental. It
       can only	be enabled by explicitly telling configure with	 --enable-alt-
       svc.  You are advised to	not ship this in production before the experi-
       mental label is removed.

DESCRIPTION
       Populate	the long bitmask with the correct set of features to  instruct
       libcurl how to handle Alt-Svc for the transfers using this handle.

       libcurl will only accept	Alt-Svc	headers	over a secure transport, mean-
       ing HTTPS. It will also only complete a request to an alternative  ori-
       gin  if	that  origin is	properly hosted	over HTTPS. These requirements
       are there to make sure both the source and the destination are  legiti-
       mate.

       Setting any bit will enable the alt-svc engine.

       CURLALTSVC_IMMEDIATELY
	      If  an  Alt-Svc:	header	is received, this instructs libcurl to
	      switch to	one of those alternatives asap rather than to save  it
	      and use for the next request. (Not currently supported).

       CURLALTSVC_READONLYFILE
	      Do  not  write the alt-svc cache back to the file	specified with
	      CURLOPT_ALTSVC(3)	even if	it gets	updated.  By  default  a  file
	      specified	with that option will be read and written to as	deemed
	      necessary.

       CURLALTSVC_H1
	      Accept alternative services offered over HTTP/1.1.

       CURLALTSVC_H2
	      Accept alternative services offered over HTTP/2. This will  only
	      be  used	if  libcurl was	also built to actually support HTTP/2,
	      otherwise	this bit will be ignored.

       CURLALTSVC_H3
	      Accept alternative services offered over HTTP/3. This will  only
	      be  used	if  libcurl was	also built to actually support HTTP/3,
	      otherwise	this bit will be ignored.

DEFAULT
       Alt-Svc handling	is disabled by default.	If CURLOPT_ALTSVC(3)  is  set,
       CURLOPT_ALTSVC_CTRL(3)	has   a	  default   value   corresponding   to
       CURLALTSVC_H1 | CURLALTSVC_H2 | CURLALTSVC_H3 - the HTTP/2  and	HTTP/3
       bits are	only set if libcurl was	built with support for those versions.

PROTOCOLS
       HTTPS

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl)	{
	 curl_easy_setopt(curl,	CURLOPT_ALTSVC_CTRL, CURLALTSVC_H1);
	 curl_easy_setopt(curl,	CURLOPT_ALTSVC,	"altsvc-cache.txt");
	 curl_easy_perform(curl);
       }

AVAILABILITY
       Added in	7.64.1

RETURN VALUE
       Returns	CURLE_OK  if the option	is supported, and CURLE_UNKNOWN_OPTION
       if not.

SEE ALSO
       CURLOPT_ALTSVC(3), CURLOPT_CONNECT_TO(3), CURLOPT_RESOLVE(3),

libcurl	7.72.0		       February	11, 2020	CURLOPT_ALTSVC_CTRL(3)

NAME | SYNOPSIS | EXPERIMENTAL | DESCRIPTION | DEFAULT | PROTOCOLS | EXAMPLE | AVAILABILITY | RETURN VALUE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=CURLOPT_ALTSVC_CTRL&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help