]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Fix some mutable values used as default arguments.
authorBen Darnell <ben@bendarnell.com>
Tue, 6 Mar 2012 05:49:41 +0000 (21:49 -0800)
committerBen Darnell <ben@bendarnell.com>
Tue, 6 Mar 2012 05:49:41 +0000 (21:49 -0800)
Also fix a doc discrepancy in which HTTPResponse.headers could be
a plain dict instead of an HTTPHeaders object (for errors that returned
no headers).

tornado/httpclient.py
tornado/web.py

index 60db3a22f3f203b414abbc3c82cde0fb320f9d60..89f0057ad99ee664c0f4e98a8ee99621a217e15b 100644 (file)
@@ -330,12 +330,15 @@ class HTTPResponse(object):
         plus 'queue', which is the delay (if any) introduced by waiting for
         a slot under AsyncHTTPClient's max_clients setting.
     """
-    def __init__(self, request, code, headers={}, buffer=None,
+    def __init__(self, request, code, headers=None, buffer=None,
                  effective_url=None, error=None, request_time=None,
-                 time_info={}):
+                 time_info=None):
         self.request = request
         self.code = code
-        self.headers = headers
+        if headers is not None:
+            self.headers = headers
+        else:
+            self.headers = httputil.HTTPHeaders()
         self.buffer = buffer
         self._body = None
         if effective_url is None:
@@ -350,7 +353,7 @@ class HTTPResponse(object):
         else:
             self.error = error
         self.request_time = request_time
-        self.time_info = time_info
+        self.time_info = time_info or {}
 
     def _get_body(self):
         if self.buffer is None:
index 8b5d269010b74a50c9461208731192f49f5c3264..a516372d511fb808acc17c8f041b82264a5b9342 100644 (file)
@@ -1882,7 +1882,7 @@ class TemplateModule(UIModule):
 
 class URLSpec(object):
     """Specifies mappings between URLs and handlers."""
-    def __init__(self, pattern, handler_class, kwargs={}, name=None):
+    def __init__(self, pattern, handler_class, kwargs=None, name=None):
         """Creates a URLSpec.
 
         Parameters:
@@ -1906,7 +1906,7 @@ class URLSpec(object):
             ("groups in url regexes must either be all named or all "
              "positional: %r" % self.regex.pattern)
         self.handler_class = handler_class
-        self.kwargs = kwargs
+        self.kwargs = kwargs or {}
         self.name = name
         self._path, self._group_count = self._find_groups()