From 31f9d4016df85b2b5ebcfb4afd7c17d2415da0b1 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Mon, 26 Mar 2001 06:19:11 +0000
Subject: [PATCH] 'Connection: keep-alive' is now understood when sent by a
 HTTP/1.0 server as an indication of a persistant connection

---
 lib/transfer.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lib/transfer.c b/lib/transfer.c
index 9598a0ac5a..4ce6f32aaf 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -422,6 +422,18 @@ Transfer(struct connectdata *c_conn)
                 conn->bits.close = FALSE; /* don't close when done */
                 infof(data, "HTTP/1.0 proxy connection set to keep alive!\n");
               }
+              else if((httpversion == 0) &&
+                      strnequal("Connection: keep-alive", p,
+                                strlen("Connection: keep-alive"))) {
+                /*
+                 * A HTTP/1.0 reply with the 'Connection: keep-alive' line
+                 * tells us the connection will be kept alive for our
+                 * pleasure.  Default action for 1.0 is to close.
+                 *
+                 * [RFC2068, section 19.7.1] */
+                conn->bits.close = FALSE; /* don't close when done */
+                infof(data, "HTTP/1.0 connection set to keep alive!\n");
+              }
               else if (strnequal("Connection: close", p,
                                  strlen("Connection: close"))) {
                 /*
-- 
GitLab