1---
2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
3SPDX-License-Identifier: curl
4Title: CURLMOPT_PIPELINING_SERVER_BL
5Section: 3
6Source: libcurl
7See-also:
8  - CURLMOPT_PIPELINING (3)
9  - CURLMOPT_PIPELINING_SITE_BL (3)
10Protocol:
11  - HTTP
12Added-in: 7.30.0
13---
14
15# NAME
16
17CURLMOPT_PIPELINING_SERVER_BL - pipelining server block list
18
19# SYNOPSIS
20
21~~~c
22#include <curl/curl.h>
23
24CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SERVER_BL,
25                            char **servers);
26~~~
27
28# DESCRIPTION
29
30No function since pipelining was removed in 7.62.0.
31
32Pass a **servers** array of char *, ending with a NULL entry. This is a list
33of server types prefixes (in the Server: HTTP header) that are blocked from
34pipelining, i.e server types that are known to not support HTTP
35pipelining. The array is copied by libcurl.
36
37Note that the comparison matches if the Server: header begins with the string
38in the block list, i.e "Server: Ninja 1.2.3" and "Server: Ninja 1.4.0" can
39both be blocked by having "Ninja" in the list.
40
41Pass a NULL pointer to clear the block list.
42
43# DEFAULT
44
45NULL, which means that there is no block list.
46
47# %PROTOCOLS%
48
49# EXAMPLE
50
51~~~c
52static char *server_block_list[] =
53{
54  "Microsoft-IIS/6.0",
55  "nginx/0.8.54",
56  NULL
57};
58int main(void)
59{
60  CURLM *m = curl_multi_init();
61  curl_multi_setopt(m, CURLMOPT_PIPELINING_SERVER_BL, server_block_list);
62}
63~~~
64
65# %AVAILABILITY%
66
67# RETURN VALUE
68
69Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
70