mercurial/hgweb/server.py
changeset 2582 276de216d2c5
parent 2508 ab460a3f0e3a
child 2600 c4325f0a9b91
--- a/mercurial/hgweb/server.py
+++ b/mercurial/hgweb/server.py
@@ -127,6 +127,11 @@ class _hgwebhandler(object, BaseHTTPServ
             if h[0].lower() == 'content-length':
                 should_close = False
                 self.length = int(h[1])
+        # The value of the Connection header is a list of case-insensitive
+        # tokens separated by commas and optional whitespace.
+        if 'close' in [token.strip().lower() for token in 
+                       self.headers.get('connection', '').split(',')]:
+            should_close = True
         if should_close:
             self.send_header('Connection', 'close')
         self.close_connection = should_close