aboutsummaryrefslogtreecommitdiff
path: root/lib/http.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/http.c')
-rw-r--r--lib/http.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/http.c b/lib/http.c
index fea11f59a..3bab60df3 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -1028,9 +1028,11 @@ CURLcode Curl_http_done(struct connectdata *conn)
else if(HTTPREQ_PUT == data->set.httpreq)
conn->bytecount = http->readbytecount + http->writebytecount;
- if(0 == (http->readbytecount + conn->headerbytecount)) {
- /* nothing was read from the HTTP server, this can't be right
- so we return an error here */
+ if(!conn->bits.retry &&
+ !(http->readbytecount + conn->headerbytecount)) {
+ /* If this connection isn't simply closed to be retried, AND nothing was
+ read from the HTTP server, this can't be right so we return an error
+ here */
failf(data, "Empty reply from server");
return CURLE_GOT_NOTHING;
}