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