Commit 4e37187e authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

now counts header size return from server and if nothing is returned from a

HTTP server we return error
parent 74d5a6fb
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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;
}

+4 −2
Original line number Diff line number Diff line
@@ -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) {
                  /*
+1 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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. */