curl_pushheader_byname(3)
π curl_pushheader_byname(3) π
okay bestie, this page is from the Library Functions Manual and the whole vibe is: grab one server push header by name, no cap. β¨
πΈ NAME πΈ
curl_pushheader_byname β get a push header by name π«Ά
β¨ SYNOPSIS β¨
#include <curl/curl.h>
char *curl_pushheader_byname(struct curl_pushheaders *h, const char *name);
π DESCRIPTION π
so this function is only functional inside a CURLMOPT_PUSHFUNCTION(3) callback. trying to use it anywhere else makes no sense and it has no function then. periodt. π
it returns the value for the given header field name (or NULL) for the incoming server push request. itβs basically a shortcut so your app doesnβt have to loop through all headers to find the one itβs interested in. icon behavior. β¨
the data this function points to is freed when this callback returns, and β even though the type doesnβt constrain you β it may not be altered. so look, donβt touch, okay? π if more than one header field use the same name, this returns only the first one.
π PROTOCOLS π
this functionality affects http only. iykyk. π
π¦ EXAMPLE π¦
#include <string.h> /* for strncmp */
static int push_cb(CURL *parent,
CURL *easy,
size_t num_headers,
struct curl_pushheaders *headers,
void *clientp)
{
char *headp;
int *transfers = (int *)clientp;
FILE *out;
headp = curl_pushheader_byname(headers, ":path");
if(headp && !strncmp(headp, "/push-", 6)) {
fprintf(stderr, "The PATH is %s\n", headp);
/* save the push here */
out = fopen("pushed-stream", "wb");
/* write to this file */
curl_easy_setopt(easy, CURLOPT_WRITEDATA, out);
(*transfers)++; /* one more */
return CURL_PUSH_OK;
}
return CURL_PUSH_DENY;
}
int main(void)
{
int counter;
CURLM *multi = curl_multi_init();
curl_multi_setopt(multi, CURLMOPT_PUSHFUNCTION, push_cb);
curl_multi_setopt(multi, CURLMOPT_PUSHDATA, &counter);
}
π AVAILABILITY π
added in curl 7.44.0 β
π RETURN VALUE π
returns a pointer to the header field content or NULL. thatβs the tea. π
π SEE ALSO π
xoxo, this was libcurl π β dated 2026-10-12, still serving curl_pushheader_byname(3) realness. π«Ά
π¦ where this page comes from
- fedora 44: libcurl-devel 8.18.0-14.fc44 Β· curl
- fedora 44: libcurl-devel 8.18.0-14.fc44 Β· curl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms