return from transfer when all headers have been received and nobody is set,
as is the case when doing HEAD requests
This commit is contained in:
Родитель
147a673063
Коммит
5cd4c3ed24
|
@ -338,6 +338,18 @@ _Transfer(struct connectdata *c_conn)
|
|||
return urg;
|
||||
|
||||
data->header_size += p - data->headerbuff;
|
||||
|
||||
|
||||
/*
|
||||
* end-of-headers.
|
||||
*
|
||||
* If we requested a "no body" and this isn't a "close"
|
||||
* connection, this is a good time to get out and return
|
||||
* home.
|
||||
*/
|
||||
if(!conn->bits.close && data->bits.no_body)
|
||||
return CURLE_OK;
|
||||
|
||||
break; /* exit header line loop */
|
||||
}
|
||||
|
||||
|
@ -473,11 +485,6 @@ _Transfer(struct connectdata *c_conn)
|
|||
is non-headers. */
|
||||
if (str && !header && ((signed int)nread > 0)) {
|
||||
|
||||
/*
|
||||
* If we requested a HTTP header, this might be a good time to get
|
||||
* out and return home.
|
||||
*/
|
||||
|
||||
if(0 == bodywrites) {
|
||||
/* These checks are only made the first time we are about to
|
||||
write a piece of the body */
|
||||
|
@ -539,7 +546,7 @@ _Transfer(struct connectdata *c_conn)
|
|||
|
||||
if(conn->bits.chunk) {
|
||||
/*
|
||||
* Bless me father for I have sinned. Here come a chunked
|
||||
* Bless me father for I have sinned. Here comes a chunked
|
||||
* transfer flying and we need to decode this properly. While
|
||||
* the name says read, this function both reads and writes away
|
||||
* the data. The returned 'nread' holds the number of actual
|
||||
|
@ -553,7 +560,7 @@ _Transfer(struct connectdata *c_conn)
|
|||
/* we're done reading chunks! */
|
||||
keepon &= ~KEEP_READ; /* read no more */
|
||||
|
||||
/* There are now (~res) bytes at the end of the str buffer
|
||||
/* There are now possibly bytes at the end of the str buffer
|
||||
that weren't written to the client, but we don't care
|
||||
about them right now. */
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче