Sylvain Hellegouarch avatar Sylvain Hellegouarch committed 7ce834e

Updating the remote client's info after tools.proxy had a chance to run, so that the remote IP is the real one.

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."""
             'Response Status': None,
             '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):
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.