]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Omit Transfer-Encoding header for HEAD response 2741/head
authorBulat Khasanov <afti@yandex.ru>
Sun, 8 Sep 2019 15:06:55 +0000 (18:06 +0300)
committerBulat Khasanov <afti@yandex.ru>
Sun, 8 Sep 2019 15:06:55 +0000 (18:06 +0300)
tornado/http1connection.py

index 5fd37ab86130c3f51515d51c904e7ceaea064486..9e71e594cb33f26722ab90c49188fea7d55f311b 100644 (file)
@@ -406,6 +406,8 @@ class HTTP1Connection(httputil.HTTPConnection):
                 # self._request_start_line.version or
                 # start_line.version?
                 self._request_start_line.version == "HTTP/1.1"
+                # Omit payload header field for HEAD request.
+                and self._request_start_line.method != "HEAD"
                 # 1xx, 204 and 304 responses have no body (not even a zero-length
                 # body), and so should not have either Content-Length or
                 # Transfer-Encoding headers.
@@ -511,10 +513,7 @@ class HTTP1Connection(httputil.HTTPConnection):
                 % self._expected_content_remaining
             )
         if self._chunking_output:
-            assert self._request_start_line
-            if not self.stream.closed() and (
-                self.is_client or self._request_start_line.method != "HEAD"
-            ):
+            if not self.stream.closed():
                 self._pending_write = self.stream.write(b"0\r\n\r\n")
                 self._pending_write.add_done_callback(self._on_write_complete)
         self._write_finished = True