aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2007-06-25 13:58:14 +0000
committerDaniel Stenberg <daniel@haxx.se>2007-06-25 13:58:14 +0000
commit974fa1242aa9e7a95c687cb1d074240c53ffb33b (patch)
tree5297e760812dfc2a28941b7ba0e2144cbc4b4124 /lib
parent3dff58b3aa14e2a6c0c3a0e35eb27da654288553 (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.c11
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) {