Changeset 858
- Timestamp:
- 12/05/05 12:03:33
- Files:
-
- trunk/cherrypy/_cphttptools.py (modified) (6 diffs)
- trunk/cherrypy/filters/__init__.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/cherrypy/_cphttptools.py
r856 r858 34 34 self.closed = True 35 35 try: 36 applyFilters('on_end_request' , 'onEndRequest')36 applyFilters('on_end_request') 37 37 except (KeyboardInterrupt, SystemExit): 38 38 raise … … 80 80 81 81 try: 82 applyFilters('on_start_resource' , 'onStartResource')82 applyFilters('on_start_resource') 83 83 84 84 try: 85 85 self.processHeaders() 86 86 87 applyFilters('before_request_body' , 'beforeRequestBody')87 applyFilters('before_request_body') 88 88 if self.processRequestBody: 89 89 self.processBody() 90 90 91 applyFilters('before_main' , 'beforeMain')91 applyFilters('before_main') 92 92 if self.executeMain: 93 93 self.main() 94 94 95 applyFilters('before_finalize' , 'beforeFinalize')95 applyFilters('before_finalize') 96 96 cherrypy.response.finalize() 97 97 except cherrypy.RequestHandled: … … 102 102 # we return the redirect or error page immediately 103 103 inst.set_response() 104 applyFilters('before_finalize' , 'before_finalize')104 applyFilters('before_finalize') 105 105 cherrypy.response.finalize() 106 106 finally: 107 applyFilters('on_end_resource' , 'onEndResource')107 applyFilters('on_end_resource') 108 108 except (KeyboardInterrupt, SystemExit): 109 109 raise … … 304 304 icofile = os.path.join(os.path.dirname(__file__), "favicon.ico") 305 305 cptools.serveFile(icofile) 306 applyFilters('before_finalize' , 'beforeFinalize')306 applyFilters('before_finalize') 307 307 cherrypy.response.finalize() 308 308 raise cherrypy.RequestHandled() … … 448 448 """Set status, headers, and body when an unanticipated error occurs.""" 449 449 try: 450 applyFilters('before_error_response' , 'beforeErrorResponse')450 applyFilters('before_error_response') 451 451 452 452 # _cp_on_error will probably change self.body. … … 456 456 self.finalize() 457 457 458 applyFilters('after_error_response' , 'afterErrorResponse')458 applyFilters('after_error_response') 459 459 return 460 460 except cherrypy.HTTPRedirect, inst: trunk/cherrypy/filters/__init__.py
r856 r858 28 28 ] 29 29 30 _input_methods = ['on_start_resource', 'onStartResource', 31 'before_request_body', 'beforeRequestBody', 32 'before_main', 'beforeMain'] 33 _output_methods = ['before_finalize', 'beforeFinalize', 34 'on_end_resource', 'onEndResource', 35 'on_end_request', 'onEndRequest', 36 'before_error_response', 'beforeErrorResponse', 37 'after_error_response', 'afterErrorResponse'] 30 _input_methods = ['on_start_resource', 'before_request_body', 'before_main'] 31 _output_methods = ['before_finalize', 'on_end_resource', 'on_end_request', 32 'before_error_response', 'after_error_response'] 38 33 34 backward_compatibility_dict = { 35 'on_start_resource': 'onStartResource', 36 'before_request_body': 'beforeRequestBody', 37 'before_main': 'beforeMain', 38 'before_finalize': 'beforeFinalize', 39 'on_end_resource': 'onEndResource', 40 'on_end_request': 'onEndRequest', 41 'before_error_response': 'beforeErrorResponse', 42 'after_error_response': 'afterErrorResponse' 43 } 39 44 40 45 def init(): … … 99 104 100 105 101 def applyFilters(method_name , alternate_method_name = None):106 def applyFilters(method_name): 102 107 """Execute the given method for all registered filters.""" 103 108 special_methods = [] 104 109 for f in _cputil.get_special_attribute("_cp_filters", "_cpFilterList"): 105 method = getattr(f, method_name, None) 106 if (method is None) and alternate_method_name: 107 # alternate_method_name is for backward compatibility 108 method = getattr(f, alternate_method_name, None) 110 # Try old name first 111 old_method_name = backward_compatibility_dict.get(method_name) 112 method = getattr(f, old_method_name, None) 113 if (method is None): 114 method = getattr(f, method_name, None) 109 115 if method: 110 116 special_methods.append(method) 111 117 112 118 if method_name in _input_methods: 113 119 # Run special filters after defaults.

