curl/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.md
Daniel Stenberg e3fe020089
docs/libcurl: generate PROTOCOLS from meta-data
Remove the PROTOCOLS section from the source files completely and
instead generate them based on the header data in the curldown files.

It also generates TLS backend information for options marked for TLS as
protocol.

Closes #13175
2024-03-23 18:13:03 +01:00

1.2 KiB

c SPDX-License-Identifier Title Section Source Protocol See-also
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. curl CURLOPT_HTTP09_ALLOWED 3 libcurl
HTTP
CURLOPT_HTTP_VERSION (3)
CURLOPT_SSLVERSION (3)

NAME

CURLOPT_HTTP09_ALLOWED - allow HTTP/0.9 response

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP09_ALLOWED, long allowed);

DESCRIPTION

Pass the long argument allowed set to 1L to allow HTTP/0.9 responses.

An HTTP/0.9 response is a server response entirely without headers and only a body. You can connect to lots of random TCP services and still get a response that curl might consider to be HTTP/0.9!

DEFAULT

curl allowed HTTP/0.9 responses by default before 7.66.0

Since 7.66.0, libcurl requires this option set to 1L to allow HTTP/0.9 responses.

EXAMPLE

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode ret;
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
    curl_easy_setopt(curl, CURLOPT_HTTP09_ALLOWED, 1L);
    ret = curl_easy_perform(curl);
  }
}

AVAILABILITY

Option added in 7.64.0, present along with HTTP.

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.