mirror of
https://github.com/moparisthebest/curl
synced 2024-11-16 06:25:03 -05:00
CURLINFO_CONDITION_UNMET: return true for 304 http status code
In libcurl, CURLINFO_CONDITION_UNMET is used to avoid writing to the output file if the server did not transfered a file based on time condition. In the same manner, getting a 304 HTTP response back from the server, for example after passing a custom If-Match-* header, also fulfill this condition. Fixes #5181 Closes #5183
This commit is contained in:
parent
a448a4ce26
commit
54ecc11cc4
@ -210,7 +210,7 @@ TLS session info that can be used for further processing. See
|
|||||||
\fICURLINFO_TLS_SESSION(3)\fP. Deprecated option, use
|
\fICURLINFO_TLS_SESSION(3)\fP. Deprecated option, use
|
||||||
\fICURLINFO_TLS_SSL_PTR(3)\fP instead!
|
\fICURLINFO_TLS_SSL_PTR(3)\fP instead!
|
||||||
.IP CURLINFO_CONDITION_UNMET
|
.IP CURLINFO_CONDITION_UNMET
|
||||||
Whether or not a time conditional was met.
|
Whether or not a time conditional was met or 304 HTTP response.
|
||||||
See \fICURLINFO_CONDITION_UNMET(3)\fP
|
See \fICURLINFO_CONDITION_UNMET(3)\fP
|
||||||
.IP CURLINFO_RTSP_SESSION_ID
|
.IP CURLINFO_RTSP_SESSION_ID
|
||||||
RTSP session ID.
|
RTSP session ID.
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.TH CURLINFO_CONDITION_UNMET 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
.TH CURLINFO_CONDITION_UNMET 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
CURLINFO_CONDITION_UNMET \- get info on unmet time conditional
|
CURLINFO_CONDITION_UNMET \- get info on unmet time conditional or 304 HTTP response.
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
#include <curl/curl.h>
|
#include <curl/curl.h>
|
||||||
|
|
||||||
@ -32,7 +32,9 @@ Pass a pointer to a long to receive the number 1 if the condition provided in
|
|||||||
the previous request didn't match (see \fICURLOPT_TIMECONDITION(3)\fP). Alas,
|
the previous request didn't match (see \fICURLOPT_TIMECONDITION(3)\fP). Alas,
|
||||||
if this returns a 1 you know that the reason you didn't get data in return is
|
if this returns a 1 you know that the reason you didn't get data in return is
|
||||||
because it didn't fulfill the condition. The long this argument points to will
|
because it didn't fulfill the condition. The long this argument points to will
|
||||||
get a zero stored if the condition instead was met.
|
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.
|
||||||
.SH PROTOCOLS
|
.SH PROTOCOLS
|
||||||
HTTP and some
|
HTTP and some
|
||||||
.SH EXAMPLE
|
.SH EXAMPLE
|
||||||
|
@ -239,8 +239,11 @@ static CURLcode getinfo_long(struct Curl_easy *data, CURLINFO info,
|
|||||||
*param_longp = data->info.conn_local_port;
|
*param_longp = data->info.conn_local_port;
|
||||||
break;
|
break;
|
||||||
case CURLINFO_CONDITION_UNMET:
|
case CURLINFO_CONDITION_UNMET:
|
||||||
/* return if the condition prevented the document to get transferred */
|
if(data->info.httpcode == 304)
|
||||||
*param_longp = data->info.timecond ? 1L : 0L;
|
*param_longp = 1L;
|
||||||
|
else
|
||||||
|
/* return if the condition prevented the document to get transferred */
|
||||||
|
*param_longp = data->info.timecond ? 1L : 0L;
|
||||||
break;
|
break;
|
||||||
case CURLINFO_RTSP_CLIENT_CSEQ:
|
case CURLINFO_RTSP_CLIENT_CSEQ:
|
||||||
*param_longp = data->state.rtsp_next_client_CSeq;
|
*param_longp = data->state.rtsp_next_client_CSeq;
|
||||||
|
Loading…
Reference in New Issue
Block a user