Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

CURLINFO_CONDITION_UNMET (3)

Name

CURLINFO_CONDITION_UNMET - get info on unmet time conditional or 304 HTTP response.

Synopsis

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONDITION_UNMET,
long *unmet);

Description

curl_easy_getinfo options                          CURLINFO_CONDITION_UNMET(3)



NAME
       CURLINFO_CONDITION_UNMET  -  get  info on unmet time conditional or 304
       HTTP response.

SYNOPSIS
       #include <curl/curl.h>

       CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONDITION_UNMET,
                                  long *unmet);

DESCRIPTION
       Pass a pointer to a long to receive the number 1 if the condition  pro-
       vided  in  the  previous  request did not match (see CURLOPT_TIMECONDI-
       TION(3)). Alas, if this returns a 1 you know that the  reason  you  did
       not get data in return is because it did not fulfill the condition. The
       long this argument points to will get a zero stored  if  the  condition
       instead  was met. This can also return 1 if the server responded with a
       304 HTTP status code, for example after sending a  custom  "If-Match-*"
       header.

PROTOCOLS
       HTTP and some

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");

         /* January 1, 2020 is 1577833200 */
         curl_easy_setopt(curl, CURLOPT_TIMEVALUE, 1577833200L);

         /* If-Modified-Since the above time stamp */
         curl_easy_setopt(curl, CURLOPT_TIMECONDITION, CURL_TIMECOND_IFMODSINCE);

         /* Perform the request */
         res = curl_easy_perform(curl);

         if(!res) {
           /* check the time condition */
           long unmet;
           res = curl_easy_getinfo(curl, CURLINFO_CONDITION_UNMET, &unmet);
           if(!res) {
             printf("The time condition was %sfulfilled\n", unmet?"NOT":"");
           }
         }
       }

AVAILABILITY
       Added in 7.19.4

RETURN VALUE
       Returns  CURLE_OK  if the option is supported, and CURLE_UNKNOWN_OPTION
       if not.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       curl_easy_getinfo(3), curl_easy_setopt(3),



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source      was      downloaded       from        https://curl.se/down-
       load/curl-7.83.1.tar.bz2.

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.83.1                 November 26, 2021
                                                   CURLINFO_CONDITION_UNMET(3)