CURLMOPT_PIPELINING_SERVER_BL(3)

πŸ’… CURLMOPT_PIPELINING_SERVER_BL(3) πŸ’…

okay so real talk, bestie β€” welcome to the Library Functions Manual page for CURLMOPT_PIPELINING_SERVER_BL, aka the pipelining server block list. and yes, the header up top literally renders it as CURLMOPT_P...G_SERVER_BL(3) because even man page titles have to fit in the group chat πŸ’€


✨ NAME ✨

CURLMOPT_PIPELINING_SERVER_BL β€” the pipelining server block list, no cap 🚫


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SERVER_BL,
                            char **servers);

🌸 DESCRIPTION 🌸

okay so first things first, and this is the big one: this is not a function anymore. literally no function since pipelining was removed in 7.62.0. she's a ghost, she's a memory, she's an option that outlived her own feature 😭

but like, for the history books: you'd pass a servers array of char *, ending with a NULL entry. this was a list of server type prefixes (from the Server: HTTP header) that are blocked from pipelining β€” i.e. server types that are known to not support HTTP pipelining. the array is copied by libcurl, so she takes a little piece of you with her 🫢

lowkey important detail: the comparison matches if the Server: header begins with the string in the block list. so, like, "Server: Ninja 1.2.3" and "Server: Ninja 1.4.0" can both be blocked by having "Ninja" in the list. prefix match, periodt ✨

and if you wanted to clear the block list? pass a NULL pointer. poof, gone, main character exit πŸ’…


πŸŽ€ DEFAULT πŸŽ€

NULL β€” which means there is no block list. empty vibes, nothing blocked, we start fresh 🌈


⭐ PROTOCOLS ⭐

this functionality affects http only. just http. everyone else can leave the group chat πŸšͺ


πŸ”₯ EXAMPLE πŸ”₯

static char *server_block_list[] =
{
  "Microsoft-IIS/6.0",
  "nginx/0.8.54",
  NULL
};
int main(void)
{
  CURLM *m = curl_multi_init();
  curl_multi_setopt(m, CURLMOPT_PIPELINING_SERVER_BL, server_block_list);
}

look at her go, iconic, even if she does nothing now πŸ™ˆ


πŸ’œ AVAILABILITY πŸ’œ

Added in curl 7.30.0. vintage. she's got lore ⭐


🧚 RETURN VALUE 🧚

curl_multi_setopt(3) returns a CURLMcode indicating success or error.

CURLM_OK (0) means everything was OK. non-zero means an error occurred β€” see libcurl-errors(3) for the deets. zero is the slay, non-zero is the πŸ’€


🌈 SEE ALSO 🌈


and that's the whole page bestie!! this lil' beauty came to you from libcurl, dated 2026-10-12, and the footer knows her by her government name: CURLMOPT_P...G_SERVER_BL(3). mwah πŸ’‹πŸ«Ά

πŸ“¦ where this page comes from