Provided by: libcurl4-doc_7.68.0-1ubuntu2.25_all bug

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
       experimental 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,  meaning  HTTPS.  It  will  also  only
       complete  a  request  to  an  alternative  origin  if  that  origin  is properly hosted over HTTPS. These
       requirements are there to make sure both the source and the destination are legitimate.

       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

       0. No Alt-Svc treatment.

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),