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