CURLINFO_RETRY_AFTER(3) Introduction to Library Functions

NAME


CURLINFO_RETRY_AFTER - returns the Retry-After retry delay

SYNOPSIS


#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RETRY_AFTER,
curl_off_t *retry);

DESCRIPTION


Pass a pointer to a curl_off_t variable to receive the number of
seconds the HTTP server suggests the client should wait until the
next request is issued. The information from the "Retry-After:"
header.

While the HTTP header might contain a fixed date string, the
CURLINFO_RETRY_AFTER(3) always returns the number of seconds to wait
- or zero if there was no header or the header could not be parsed.

This option used to return a negative wait time if the server
provided a date in the past. Since 8.12.0, a negative wait time is
returned as zero. In any case we recommend checking that the wait
time is within an acceptable range for your circumstance.

DEFAULT


Zero if there was no header.

PROTOCOLS


This functionality affects all supported protocols

EXAMPLE


int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
CURLcode res;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
res = curl_easy_perform(curl);
if(res == CURLE_OK) {
curl_off_t wait = 0;
curl_easy_getinfo(curl, CURLINFO_RETRY_AFTER, &wait);
if(wait)
printf("Wait for %" CURL_FORMAT_CURL_OFF_T " seconds\n", wait);
}
curl_easy_cleanup(curl);
}
}

AVAILABILITY


Added in curl 7.66.0

RETURN VALUE


curl_easy_getinfo(3) returns a CURLcode indicating success or error.

CURLE_OK (0) means everything was OK, non-zero means an error
occurred, see libcurl-errors(3).

SEE ALSO


CURLOPT_HEADERFUNCTION(3), CURLOPT_STDERR(3), curl_easy_header(3)

libcurl 2025-02-25 CURLINFO_RETRY_AFTER(3)

tribblix@gmail.com :: GitHub :: Privacy