diff options
author | Daniel Stenberg <daniel@haxx.se> | 2007-06-25 13:58:14 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2007-06-25 13:58:14 +0000 |
commit | 974fa1242aa9e7a95c687cb1d074240c53ffb33b (patch) | |
tree | 5297e760812dfc2a28941b7ba0e2144cbc4b4124 /lib | |
parent | 3dff58b3aa14e2a6c0c3a0e35eb27da654288553 (diff) |
Adjusted how libcurl treats HTTP 1.1 responses without content-lenth or
chunked encoding (that also lacks "Connection: close"). It now simply
assumes that the connection WILL be closed to signal the end, as that is how
RFC2616 section 4.4 point #5 says we should behave.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/transfer.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/transfer.c b/lib/transfer.c index 703f408a2..35e8192ef 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -577,11 +577,12 @@ CURLcode Curl_readwrite(struct connectdata *conn, (k->httpversion >= 11) ) /* On HTTP 1.1, when connection is not to get closed, but no Content-Length nor Content-Encoding chunked have been - received, there is no body in this response. We don't set - stop_reading TRUE since that would also prevent necessary - authentication actions to take place. */ - conn->bits.no_body = TRUE; - + received, according to RFC2616 section 4.4 point 5, we + assume that the server will close the connection to + signal the end of the document. */ + infof(data, "no chunk, no close, no size. Assume close to " + "signal end\n"); + conn->bits.close = TRUE; } if (417 == k->httpcode) { |