Commits

Robert Brewer committed be0bdc3

Better fix for stats remote.ip

Comments (0)

Files changed (1)

cherrypy/lib/cpstats.py

         if appstats.get('Enabled', False):
             cherrypy.Tool._setup(self)
             self.record_start()
-            cherrypy.request.hooks.attach('before_request_body',
-                                          self.record_resource,
-                                          priority=35)
     
     def record_start(self):
         """Record the beginning of a request."""
         appstats['Requests'][threading._get_ident()] = {
             'Bytes Read': None,
             'Bytes Written': None,
-            'Client': '%s:%s' % (r.ip, r.port),
+            # Use a lambda so the ip gets updated by tools.proxy later
+            'Client': lambda s: '%s:%s' % (r.ip, r.port),
             'End Time': None,
             'Processing Time': proc_time,
             'Request-Line': request.request_line,
             'Start Time': time.time(),
             }
 
-    def record_resource(self, debug=False):
-        w = appstats['Requests'][threading._get_ident()]
-        r = cherrypy.serving.request.remote
-        w['Client'] = '%s:%s' % (r.ip, r.port)
-    
     def record_stop(self, uriset=None, slow_queries=1.0, slow_queries_count=100,
                     debug=False, **kwargs):
         """Record the end of a request."""