]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
implement request_time in simplehttp_client (and tests) 307/head
authorJehiah Czebotar <jehiah@gmail.com>
Sun, 28 Aug 2011 00:51:45 +0000 (20:51 -0400)
committerJehiah Czebotar <jehiah@gmail.com>
Sun, 28 Aug 2011 00:51:45 +0000 (20:51 -0400)
tornado/simple_httpclient.py
tornado/test/httpclient_test.py
tornado/test/simple_httpclient_test.py

index e1a9ce40527875bb58559066fb8834f158d0c0c0..ad45c2ca4118c454d7962669d7f7327140241157 100644 (file)
@@ -206,6 +206,7 @@ class _HTTPConnection(object):
     def _on_timeout(self):
         self._timeout = None
         self._run_callback(HTTPResponse(self.request, 599,
+                                        request_time=time.time() - self.start_time,
                                         error=HTTPError(599, "Timeout")))
         self.stream.close()
 
@@ -289,11 +290,14 @@ class _HTTPConnection(object):
             yield
         except Exception, e:
             logging.warning("uncaught exception", exc_info=True)
-            self._run_callback(HTTPResponse(self.request, 599, error=e))
+            self._run_callback(HTTPResponse(self.request, 599, error=e, 
+                                request_time=time.time() - self.start_time,
+                                ))
 
     def _on_close(self):
         self._run_callback(HTTPResponse(
                 self.request, 599,
+                request_time=time.time() - self.start_time,
                 error=HTTPError(599, "Connection closed")))
 
     def _on_headers(self, data):
@@ -362,6 +366,7 @@ class _HTTPConnection(object):
             return
         response = HTTPResponse(original_request,
                                 self.code, headers=self.headers,
+                                request_time=time.time() - self.start_time,
                                 buffer=buffer,
                                 effective_url=self.request.url)
         self._run_callback(response)
index ed6f04066df8b43f6e7dba2d0dfe85505f68e4b7..5fe776f7b18612c52beb2d2d91f03d9f9f4dda12 100644 (file)
@@ -74,6 +74,7 @@ class HTTPClientCommonTestCase(AsyncHTTPTestCase, LogTrapTestCase):
         self.assertEqual(response.code, 200)
         self.assertEqual(response.headers["Content-Type"], "text/plain")
         self.assertEqual(response.body, b("Hello world!"))
+        self.assertEqual(int(response.request_time), 0)
 
         response = self.fetch("/hello?name=Ben")
         self.assertEqual(response.body, b("Hello Ben!"))
index 662806620727cfce330a2b8c7eb0f7cbdba1202a..6c5d710ca1416423585bc281a86feb5ebf26f5fc 100644 (file)
@@ -150,11 +150,13 @@ class SimpleHTTPClientTestCase(AsyncHTTPTestCase, LogTrapTestCase):
                                    connect_timeout=0.1)
             response = self.wait()
             self.assertEqual(response.code, 599)
+            self.assertEqual(int(response.request_time * 10), 1)
             self.assertEqual(str(response.error), "HTTP 599: Timeout")
 
     def test_request_timeout(self):
         response = self.fetch('/hang', request_timeout=0.1)
         self.assertEqual(response.code, 599)
+        self.assertEqual(int(response.request_time * 10), 1)
         self.assertEqual(str(response.error), "HTTP 599: Timeout")
 
     def test_ipv6(self):