| .\" ************************************************************************** |
| .\" * _ _ ____ _ |
| .\" * Project ___| | | | _ \| | |
| .\" * / __| | | | |_) | | |
| .\" * | (__| |_| | _ <| |___ |
| .\" * \___|\___/|_| \_\_____| |
| .\" * |
| .\" * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. |
| .\" * |
| .\" * This software is licensed as described in the file COPYING, which |
| .\" * you should have received as part of this distribution. The terms |
| .\" * are also available at https://curl.se/docs/copyright.html. |
| .\" * |
| .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell |
| .\" * copies of the Software, and permit persons to whom the Software is |
| .\" * furnished to do so, under the terms of the COPYING file. |
| .\" * |
| .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY |
| .\" * KIND, either express or implied. |
| .\" * |
| .\" * SPDX-License-Identifier: curl |
| .\" * |
| .\" ************************************************************************** |
| .TH curl_pushheader_bynum 3 "9 Jun 2023" "libcurl" "libcurl" |
| .SH NAME |
| curl_pushheader_bynum - get a push header by index |
| .SH SYNOPSIS |
| .nf |
| #include <curl/curl.h> |
| |
| char *curl_pushheader_bynum(struct curl_pushheaders *h, size_t num); |
| .fi |
| .SH DESCRIPTION |
| This is a function that is only functional within a |
| \fICURLMOPT_PUSHFUNCTION(3)\fP callback. It makes no sense to try to use it |
| elsewhere and it has no function then. |
| |
| It returns the value for the header field at the given index \fBnum\fP, for |
| the incoming server push request or NULL. The data pointed to is freed by |
| libcurl when this callback returns. The returned pointer points to a |
| "name:value" string that gets freed when this callback returns. |
| |
| .SH EXAMPLE |
| .nf |
| /* output all the incoming push request headers */ |
| static int push_cb(CURL *parent, |
| CURL *easy, |
| size_t num_headers, |
| struct curl_pushheaders *headers, |
| void *clientp) |
| { |
| int i = 0; |
| char *field; |
| do { |
| field = curl_pushheader_bynum(headers, i); |
| if(field) |
| fprintf(stderr, "Push header: %s\\n", field); |
| i++; |
| } while(field); |
| return CURL_PUSH_OK; /* permission granted */ |
| } |
| |
| int main(void) |
| { |
| CURLM *multi = curl_multi_init(); |
| curl_multi_setopt(multi, CURLMOPT_PUSHFUNCTION, push_cb); |
| } |
| .fi |
| .SH AVAILABILITY |
| Added in 7.44.0 |
| .SH RETURN VALUE |
| Returns a pointer to the header field content or NULL. |
| .SH "SEE ALSO" |
| .BR CURLMOPT_PUSHFUNCTION (3), |
| .BR curl_pushheader_byname (3) |