1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-24 17:18:48 -05:00

http: don't set CURLINFO_CONDITION_UNMET for http status code 204

The http status code 204 (No Content) should not change the "condition
unmet" flag. Only the http status code 304 (Not Modified) should do
this.

Closes #359
This commit is contained in:
Michael Kaufmann 2018-12-10 17:30:31 +01:00 committed by Daniel Stenberg
parent 1b443a7c00
commit c8bf8cc1e4
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -3657,13 +3657,6 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
} }
switch(k->httpcode) { switch(k->httpcode) {
case 204:
/* (quote from RFC2616, section 10.2.5): The server has
* fulfilled the request but does not need to return an
* entity-body ... The 204 response MUST NOT include a
* message-body, and thus is always terminated by the first
* empty line after the header fields. */
/* FALLTHROUGH */
case 304: case 304:
/* (quote from RFC2616, section 10.3.5): The 304 response /* (quote from RFC2616, section 10.3.5): The 304 response
* MUST NOT contain a message-body, and thus is always * MUST NOT contain a message-body, and thus is always
@ -3671,6 +3664,13 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
* fields. */ * fields. */
if(data->set.timecondition) if(data->set.timecondition)
data->info.timecond = TRUE; data->info.timecond = TRUE;
/* FALLTHROUGH */
case 204:
/* (quote from RFC2616, section 10.2.5): The server has
* fulfilled the request but does not need to return an
* entity-body ... The 204 response MUST NOT include a
* message-body, and thus is always terminated by the first
* empty line after the header fields. */
k->size = 0; k->size = 0;
k->maxdownload = 0; k->maxdownload = 0;
k->ignorecl = TRUE; /* ignore Content-Length headers */ k->ignorecl = TRUE; /* ignore Content-Length headers */