]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Make _request_summary handle remote_ip of None.
authorBen Darnell <ben@bendarnell.com>
Sun, 8 Mar 2015 14:33:40 +0000 (10:33 -0400)
committerBen Darnell <ben@bendarnell.com>
Sun, 8 Mar 2015 14:33:40 +0000 (10:33 -0400)
HTTPServerRequest has a default of None here although it is
set by both HTTPServer and WSGIAdapter.

tornado/test/web_test.py
tornado/web.py

index d7a11187f57f55ba026e728e4b0d6fe0844e201d..f3c8505ad000dedc745a86f5bbf819587b15ed9c 100644 (file)
@@ -2512,3 +2512,18 @@ class CacheTest(WebTestCase):
             headers={'If-None-Match': etags}
         )
         self.assertEqual(response.code, status_code)
+
+
+@wsgi_safe
+class RequestSummaryTest(SimpleHandlerTestCase):
+    class Handler(RequestHandler):
+        def get(self):
+            # remote_ip is optional, although it's set by
+            # both HTTPServer and WSGIAdapter.
+            # Clobber it to make sure it doesn't break logging.
+            self.request.remote_ip = None
+            self.finish(self._request_summary())
+
+    def test_missing_remote_ip(self):
+        resp = self.fetch("/")
+        self.assertEqual(resp.body, b"GET / (None)")
index 6de42d27d90c3c52271a2b8fad5f1c131db8ca66..62f3779df58d48687f0d4e7bfa0f1ed64148a9ac 100644 (file)
@@ -1432,8 +1432,8 @@ class RequestHandler(object):
         self.application.log_request(self)
 
     def _request_summary(self):
-        return self.request.method + " " + self.request.uri + \
-            " (" + self.request.remote_ip + ")"
+        return "%s %s (%s)" % (self.request.method, self.request.uri,
+                               self.request.remote_ip)
 
     def _handle_request_exception(self, e):
         if isinstance(e, Finish):