Changeset 903
- Timestamp:
- 12/30/05 19:55:58
- Files:
-
- trunk/cherrypy/filters/__init__.py (modified) (3 diffs)
- trunk/cherrypy/test/test_custom_filters.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/cherrypy/filters/__init__.py
r891 r903 4 4 5 5 # These are in order for a reason! 6 _input_order = [ 6 # Entries in the input_filters and output_filters lists 7 # may be either a class, or the full package name of a class. 8 9 input_filters = [ 7 10 "cherrypy.filters.cachefilter.CacheFilter", 8 11 "cherrypy.filters.logdebuginfofilter.LogDebugInfoFilter", … … 18 21 ] 19 22 20 _output_order= [23 output_filters = [ 21 24 "cherrypy.filters.responseheadersfilter.ResponseHeadersFilter", 22 25 "cherrypy.filters.xmlrpcfilter.XmlRpcFilter", … … 55 58 conf = cherrypy.config.get 56 59 57 for clsname in _input_order + conf('server.inputFilters', []): 58 f = instances.get(clsname) 60 for filtercls in input_filters + conf('server.input_filters', []): 61 if isinstance(filtercls, basestring): 62 filtercls = cptools.attributes(filtercls) 63 64 f = instances.get(filtercls) 59 65 if f is None: 60 cls = cptools.attributes(clsname) 61 f = instances[clsname] = cls() 66 f = instances[filtercls] = filtercls() 62 67 inputs.append(f) 63 68 64 for clsname in conf('server.outputFilters', []) + _output_order: 65 f = instances.get(clsname) 69 for filtercls in conf('server.output_filters', []) + output_filters: 70 if isinstance(filtercls, basestring): 71 filtercls = cptools.attributes(filtercls) 72 73 f = instances.get(filtercls) 66 74 if f is None: 67 cls = cptools.attributes(clsname) 68 f = instances[clsname] = cls() 75 f = instances[filtercls] = filtercls() 69 76 outputs.append(f) 70 77 trunk/cherrypy/test/test_custom_filters.py
r891 r903 97 97 'global': { 98 98 # METHOD TWO: 99 # Declare a classname in server.input Filters.100 'server.input Filters': ["cherrypy.test.test_custom_filters.AccessFilter"],99 # Declare a classname in server.input_filters. 100 'server.input_filters': ["cherrypy.test.test_custom_filters.AccessFilter"], 101 101 'server.log_to_screen': False, 102 102 'server.environment': 'production', … … 116 116 117 117 # METHOD THREE: 118 # Append a classname to the filters._output_order chain directly. 119 filters._output_order.insert(0, "cherrypy.test.test_custom_filters.Numerify") 118 # Insert a class directly into the filters.output_filters chain. 119 # You can also insert a string, but we're effectively testing 120 # using-a-string via the config file. 121 filters.output_filters.insert(0, Numerify) 120 122 121 123 # We have to call filters.init() here (if we want methods #2 and #3

