Joseph Tate avatar Joseph Tate committed b619c4f

Let the args and kwargs heading into a PageHandler be accessible on the request object. This way tools can be written that munge those parameters, (like for a cache busting plugin, or maybe XSS prevention)

Comments (0)

Files changed (1)

cherrypy/_cpdispatch.py

         self.args = args
         self.kwargs = kwargs
 
+    def get_args(self):
+        return cherrypy.serving.request.args
+
+    def set_args(self, args):
+        cherrypy.serving.request.args = args
+        return cherrypy.serving.request.args
+    
+    args = property(get_args, set_args, doc="The ordered args should be accessible from post dispatch hooks")
+
+    def get_kwargs(self):
+        return cherrypy.serving.request.kwargs
+
+    def set_kwargs(self, kwargs):
+        cherrypy.serving.request.kwargs = kwargs
+        return cherrypy.serving.request.kwargs
+    
+    kwargs = property(get_kwargs, set_kwargs, doc="The named kwargs should be accessible from post dispatch hooks")
+
     def __call__(self):
         try:
             return self.callable(*self.args, **self.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.