mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 15:48:49 -05:00
now counts header size return from server and if nothing is returned from a
HTTP server we return error
This commit is contained in:
parent
74d5a6fb3b
commit
4e37187e44
@ -352,6 +352,13 @@ CURLcode Curl_http_done(struct connectdata *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 */
|
||||
failf(data, "Empty reply from server\n");
|
||||
return CURLE_GOT_NOTHING;
|
||||
}
|
||||
|
||||
return CURLE_OK;
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
* | (__| |_| | _ <| |___
|
||||
* \___|\___/|_| \_\_____|
|
||||
*
|
||||
* Copyright (C) 2000, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
* Copyright (C) 2001, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
*
|
||||
* In order to be useful for every potential user, curl and libcurl are
|
||||
* dual-licensed under the MPL and the MIT/X-derivate licenses.
|
||||
@ -450,12 +450,14 @@ Transfer(struct connectdata *c_conn)
|
||||
if (data->set.http_include_header)
|
||||
writetype |= CLIENTWRITE_BODY;
|
||||
|
||||
urg = Curl_client_write(data, writetype, data->state.headerbuff,
|
||||
urg = Curl_client_write(data, writetype,
|
||||
data->state.headerbuff,
|
||||
p - data->state.headerbuff);
|
||||
if(urg)
|
||||
return urg;
|
||||
|
||||
data->info.header_size += p - data->state.headerbuff;
|
||||
conn->headerbytecount += p - data->state.headerbuff;
|
||||
|
||||
if(!header) {
|
||||
/*
|
||||
|
@ -2034,6 +2034,7 @@ static CURLcode CreateConnection(struct SessionHandle *data,
|
||||
|
||||
conn->now = Curl_tvnow(); /* time this *after* the connect is done */
|
||||
conn->bytecount = 0;
|
||||
conn->headerbytecount = 0;
|
||||
|
||||
/* Figure out the ip-number and display the first host name it shows: */
|
||||
#ifdef ENABLE_IPV6
|
||||
|
@ -242,6 +242,7 @@ struct connectdata {
|
||||
not the proxy port! */
|
||||
char *ppath;
|
||||
long bytecount;
|
||||
long headerbytecount; /* only count received headers */
|
||||
|
||||
char *range; /* range, if used. See README for detailed specification on
|
||||
this syntax. */
|
||||
|
Loading…
Reference in New Issue
Block a user