mirror of
https://github.com/curl/curl.git
synced 2026-04-27 00:12:14 +03:00
- always assign the curl_easy_perform() return code (and declare the necessary 'result' variable for it) - always call curl_easy_cleanup() on the created easy handles Closes #21364
1.6 KiB
1.6 KiB
| c | SPDX-License-Identifier | Title | Section | Source | Protocol | See-also | Added-in | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. | curl | CURLOPT_HSTSREADDATA | 3 | libcurl |
|
|
7.74.0 |
NAME
CURLOPT_HSTSREADDATA - pointer passed to the HSTS read callback
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HSTSREADDATA, void *pointer);
DESCRIPTION
Data pointer to pass to the HSTS read function. If you use the CURLOPT_HSTSREADFUNCTION(3) option, this is the pointer you get as input in the 3rd argument to the callback.
This option does not enable HSTS, you need to use CURLOPT_HSTS_CTRL(3) to do that.
DEFAULT
NULL
%PROTOCOLS%
EXAMPLE
struct MyData {
void *custom;
};
static CURLSTScode hsts_cb(CURL *easy, struct curl_hstsentry *sts,
void *clientp)
{
/* populate the struct as documented */
return CURLSTS_OK;
}
int main(void)
{
CURL *curl = curl_easy_init();
struct MyData this;
if(curl) {
CURLcode result;
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
/* pass pointer that gets passed in to the
CURLOPT_HSTSREADFUNCTION callback */
curl_easy_setopt(curl, CURLOPT_HSTSREADDATA, &this);
/* set HSTS read callback */
curl_easy_setopt(curl, CURLOPT_HSTSREADFUNCTION, hsts_cb);
result = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
}
%AVAILABILITY%
RETURN VALUE
This returns CURLE_OK.