GNURLMOPT_PUSHDATA(3)
π NAME π
CURLMOPT_PUSHDATA β the pointer you pass along to the push callback, bestie. This whole thing is the GNURLMOPT_PUSHDATA(3) manual page, and it's lowkey just about handing a pointer to your callback. β¨
π¦ SYNOPSIS π¦
#include <gnurl/curl.h>
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PUSHDATA, void *pointer);
πΈ DESCRIPTION πΈ
Okay so you set that pointer to be passed as the last argument to the CURLMOPT_PUSHFUNCTION(3) callback. That's it, that's the vibe.
The pointer will not be touched or used by libcurl itself β it only gets passed on to the callback function. No cap. π
π DEFAULT π
NULL β that's the default, periodt. π
π PROTOCOLS π
HTTP(S) only, bestie. π¦
β¨ EXAMPLE β¨
This one only allows pushes for file names starting with "push-":
/* only allow pushes for file names starting with "push-" */
int push_callback(CURL *parent,
CURL *easy,
size_t num_headers,
struct curl_pushheaders *headers,
void *userp)
{
char *headp;
int *transfers = (int *)userp;
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;
}
curl_multi_setopt(multi, CURLMOPT_PUSHFUNCTION, push_callback);
curl_multi_setopt(multi, CURLMOPT_PUSHDATA, &counter);
π«Ά AVAILABILITY π«Ά
Added in 7.44.0 β iconic behavior since day one of that release. β
π RETURN VALUE π
Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. Simple as that. π
π SEE ALSO π
CURLMOPT_PUSHFUNCTION(3), CURLMOPT_PIPELINING(3), CURLOPT_PIPEWAIT(3), RFC7540
mwah π this little page is from libcurl 7.44.0, dated 1 Jun 2015 β GNURLMOPT_PUSHDATA(3) out! π«Άβ¨
π¦ where this page comes from
- nixos 26.05: libgnurl 7.72.0
- nixpkgs unstable: libgnurl 7.72.0
- Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms