xref: /aosp_15_r20/external/curl/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.md (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker---
2*6236dae4SAndroid Build Coastguard Workerc: Copyright (C) Daniel Stenberg, <[email protected]>, et al.
3*6236dae4SAndroid Build Coastguard WorkerSPDX-License-Identifier: curl
4*6236dae4SAndroid Build Coastguard WorkerTitle: CURLOPT_HAPROXYPROTOCOL
5*6236dae4SAndroid Build Coastguard WorkerSection: 3
6*6236dae4SAndroid Build Coastguard WorkerSource: libcurl
7*6236dae4SAndroid Build Coastguard WorkerSee-also:
8*6236dae4SAndroid Build Coastguard Worker  - CURLOPT_PROXY (3)
9*6236dae4SAndroid Build Coastguard WorkerProtocol:
10*6236dae4SAndroid Build Coastguard Worker  - All
11*6236dae4SAndroid Build Coastguard WorkerAdded-in: 7.60.0
12*6236dae4SAndroid Build Coastguard Worker---
13*6236dae4SAndroid Build Coastguard Worker
14*6236dae4SAndroid Build Coastguard Worker# NAME
15*6236dae4SAndroid Build Coastguard Worker
16*6236dae4SAndroid Build Coastguard WorkerCURLOPT_HAPROXYPROTOCOL - send HAProxy PROXY protocol v1 header
17*6236dae4SAndroid Build Coastguard Worker
18*6236dae4SAndroid Build Coastguard Worker# SYNOPSIS
19*6236dae4SAndroid Build Coastguard Worker
20*6236dae4SAndroid Build Coastguard Worker~~~c
21*6236dae4SAndroid Build Coastguard Worker#include <curl/curl.h>
22*6236dae4SAndroid Build Coastguard Worker
23*6236dae4SAndroid Build Coastguard WorkerCURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPROXYPROTOCOL,
24*6236dae4SAndroid Build Coastguard Worker                          long haproxy_protocol);
25*6236dae4SAndroid Build Coastguard Worker~~~
26*6236dae4SAndroid Build Coastguard Worker
27*6236dae4SAndroid Build Coastguard Worker# DESCRIPTION
28*6236dae4SAndroid Build Coastguard Worker
29*6236dae4SAndroid Build Coastguard WorkerA long parameter set to 1 tells the library to send an HAProxy PROXY
30*6236dae4SAndroid Build Coastguard Workerprotocol v1 header at beginning of the connection. The default action is not to
31*6236dae4SAndroid Build Coastguard Workersend this header.
32*6236dae4SAndroid Build Coastguard Worker
33*6236dae4SAndroid Build Coastguard WorkerThis option is primarily useful when sending test requests to a service that
34*6236dae4SAndroid Build Coastguard Workerexpects this header.
35*6236dae4SAndroid Build Coastguard Worker
36*6236dae4SAndroid Build Coastguard WorkerMost applications do not need this option.
37*6236dae4SAndroid Build Coastguard Worker
38*6236dae4SAndroid Build Coastguard Worker# DEFAULT
39*6236dae4SAndroid Build Coastguard Worker
40*6236dae4SAndroid Build Coastguard Worker0, do not send any HAProxy PROXY protocol header
41*6236dae4SAndroid Build Coastguard Worker
42*6236dae4SAndroid Build Coastguard Worker# %PROTOCOLS%
43*6236dae4SAndroid Build Coastguard Worker
44*6236dae4SAndroid Build Coastguard Worker# EXAMPLE
45*6236dae4SAndroid Build Coastguard Worker
46*6236dae4SAndroid Build Coastguard Worker~~~c
47*6236dae4SAndroid Build Coastguard Workerint main(void)
48*6236dae4SAndroid Build Coastguard Worker{
49*6236dae4SAndroid Build Coastguard Worker  CURL *curl = curl_easy_init();
50*6236dae4SAndroid Build Coastguard Worker  if(curl) {
51*6236dae4SAndroid Build Coastguard Worker    CURLcode ret;
52*6236dae4SAndroid Build Coastguard Worker    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
53*6236dae4SAndroid Build Coastguard Worker    curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 1L);
54*6236dae4SAndroid Build Coastguard Worker    ret = curl_easy_perform(curl);
55*6236dae4SAndroid Build Coastguard Worker  }
56*6236dae4SAndroid Build Coastguard Worker}
57*6236dae4SAndroid Build Coastguard Worker~~~
58*6236dae4SAndroid Build Coastguard Worker
59*6236dae4SAndroid Build Coastguard Worker# %AVAILABILITY%
60*6236dae4SAndroid Build Coastguard Worker
61*6236dae4SAndroid Build Coastguard Worker# RETURN VALUE
62*6236dae4SAndroid Build Coastguard Worker
63*6236dae4SAndroid Build Coastguard WorkerReturns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
64