summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Kaufmann <mail@michael-kaufmann.ch>2018-12-10 17:30:31 +0100
committerDaniel Stenberg <daniel@haxx.se>2018-12-11 13:22:42 +0100
commitc8bf8cc1e4e8f6e8c29b104a2bcc47c626e18081 (patch)
tree3593b130195d80ca06ad17b9b876eb16d3c11266
parent1b443a7c00c1e5d2d0567d440f309cba5d69096b (diff)
downloadcurl-c8bf8cc1e4e8f6e8c29b104a2bcc47c626e18081.tar.gz
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
-rw-r--r--lib/http.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/http.c b/lib/http.c
index 7be6f8b92..7d50750a4 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -3657,13 +3657,6 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
}
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:
/* (quote from RFC2616, section 10.3.5): The 304 response
* MUST NOT contain a message-body, and thus is always
@@ -3671,6 +3664,13 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
* fields. */
if(data->set.timecondition)
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->maxdownload = 0;
k->ignorecl = TRUE; /* ignore Content-Length headers */