mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
HTTP: retry failed HEAD requests too
Mark's new document about HTTP Retries (https://mnot.github.io/I-D/httpbis-retry/) made me check our code and I spotted that we don't retry failed HEAD requests which seems totally inconsistent and I can't see any reason for that separate treatment. So, no separate treatment for HEAD starting now. A HTTP request sent over a reused connection that gets cut off before a single byte is received will be retried on a fresh connection. Made-aware-by: Mark Nottingham
This commit is contained in:
parent
04f84edd5b
commit
31e33a9a46
@ -1891,12 +1891,11 @@ CURLcode Curl_retry_request(struct connectdata *conn,
|
||||
|
||||
if((data->req.bytecount + data->req.headerbytecount == 0) &&
|
||||
conn->bits.reuse &&
|
||||
!data->set.opt_no_body &&
|
||||
(data->set.rtspreq != RTSPREQ_RECEIVE)) {
|
||||
/* We got no data, we attempted to re-use a connection and yet we want a
|
||||
"body". This might happen if the connection was left alive when we were
|
||||
done using it before, but that was closed when we wanted to read from
|
||||
it again. Bad luck. Retry the same request on a fresh connect! */
|
||||
/* We didn't get a single byte when we attempted to re-use a
|
||||
connection. This might happen if the connection was left alive when we
|
||||
were done using it before, but that was closed when we wanted to use it
|
||||
again. Bad luck. Retry the same request on a fresh connect! */
|
||||
infof(conn->data, "Connection died, retrying a fresh connect\n");
|
||||
*url = strdup(conn->data->change.url);
|
||||
if(!*url)
|
||||
|
Loading…
Reference in New Issue
Block a user