From: Ben Darnell Date: Sat, 14 Jan 2012 06:42:16 +0000 (-0800) Subject: The Connection request header should be case-insensitive. X-Git-Tag: v2.2.0~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e552346a49dd3b357eaf1289d724b79e2f897776;p=thirdparty%2Ftornado.git The Connection request header should be case-insensitive. --- diff --git a/tornado/httpserver.py b/tornado/httpserver.py index e692ba8a9..efde98c37 100644 --- a/tornado/httpserver.py +++ b/tornado/httpserver.py @@ -205,11 +205,13 @@ class HTTPConnection(object): disconnect = True else: connection_header = self._request.headers.get("Connection") + if connection_header is not None: + connection_header = connection_header.lower() if self._request.supports_http_1_1(): disconnect = connection_header == "close" elif ("Content-Length" in self._request.headers or self._request.method in ("HEAD", "GET")): - disconnect = connection_header != "Keep-Alive" + disconnect = connection_header != "keep-alive" else: disconnect = True self._request = None diff --git a/website/sphinx/releases/next.rst b/website/sphinx/releases/next.rst index 614420013..c62c2e4a2 100644 --- a/website/sphinx/releases/next.rst +++ b/website/sphinx/releases/next.rst @@ -25,6 +25,7 @@ Backwards-incompatible changes of the websocket protocol by default, although this version can be enabled by overriding `tornado.websocket.WebSocketHandler.allow_draft76`. + ``IOLoop`` and ``IOStream`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -76,5 +77,7 @@ Other modules even when `os.urandom` is not implemented. * `HTTPServer` with ``xheaders=True`` will no longer accept ``X-Real-IP`` headers that don't look like valid IP addresses. +* `HTTPServer` now treats the ``Connection`` request header as + case-insensitive. * Exception handling in `tornado.gen` has been improved. It is now possible to catch exceptions thrown by a ``Task``.