]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
simple_httpclient: finish() should be called even for body-less GET.
authorBen Darnell <ben@bendarnell.com>
Mon, 9 Mar 2015 03:08:25 +0000 (23:08 -0400)
committerBen Darnell <ben@bendarnell.com>
Mon, 9 Mar 2015 03:08:25 +0000 (23:08 -0400)
This matters for HTTP2 where there is an explicit end-stream marker.

tornado/simple_httpclient.py

index beb55f239ffed66c2c5e91372d330056108eddf7..6321a81df694b07aba4e0d2a6533964574a0bf45 100644 (file)
@@ -375,7 +375,6 @@ class _HTTPConnection(httputil.HTTPMessageDelegate):
     def _write_body(self, start_read):
         if self.request.body is not None:
             self.connection.write(self.request.body)
-            self.connection.finish()
         elif self.request.body_producer is not None:
             fut = self.request.body_producer(self.connection.write)
             if is_future(fut):
@@ -386,7 +385,7 @@ class _HTTPConnection(httputil.HTTPMessageDelegate):
                         self._read_response()
                 self.io_loop.add_future(fut, on_body_written)
                 return
-            self.connection.finish()
+        self.connection.finish()
         if start_read:
             self._read_response()