Changeset 408
- Timestamp:
- 07/05/05 16:18:59
- Files:
-
- trunk/cherrypy/_cputil.py (modified) (2 diffs)
- trunk/cherrypy/config.py (modified) (1 diff)
- trunk/cherrypy/lib/filter/sessionfilter/__init__.py (modified) (1 diff)
- trunk/cherrypy/lib/filter/sessionfilter/sessionconfig.py (modified) (1 diff)
- trunk/cherrypy/server.py (modified) (2 diffs)
- trunk/cherrypy/test/test.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/cherrypy/_cputil.py
r389 r408 148 148 decodingfilter, encodingfilter, gzipfilter, logdebuginfofilter, \ 149 149 staticfilter, nsgmlsfilter, tidyfilter, \ 150 virtualhostfilter, xmlrpcfilter, sessionauthenticatefilter 151 152 from cherrypy.lib.filter import sessionfilter 153 154 _cachefilter = cachefilter.CacheFilter() 155 _logdebuginfofilter = logdebuginfofilter.LogDebugInfoFilter() 156 _nsgmlsfilter = nsgmlsfilter.NsgmlsFilter() 157 _sessionfilter = sessionfilter.SessionFilter() 158 _tidyfilter = tidyfilter.TidyFilter() 159 _xmlfilter = xmlrpcfilter.XmlRpcFilter() 150 virtualhostfilter, xmlrpcfilter, sessionauthenticatefilter, \ 151 sessionfilter 152 153 # this contains the classes for each filter type 154 # we do not store the instances here because the test 155 # suite must reinitilize the filters without restarting 156 # the server 157 _cpDefaultFilterClasses = { 158 'BaseUrlFilter' : baseurlfilter.BaseUrlFilter, 159 'CacheFilter' : cachefilter.CacheFilter, 160 'DecodingFilter' : decodingfilter.DecodingFilter, 161 'EncodingFilter' : encodingfilter.EncodingFilter, 162 'GzipFilter' : gzipfilter.GzipFilter, 163 'LogDebugInfoFilter' : logdebuginfofilter.LogDebugInfoFilter, 164 'NsgmlsFilter' : nsgmlsfilter.NsgmlsFilter, 165 'SessionAuthenticateFilter' : sessionauthenticatefilter.SessionAuthenticateFilter, 166 'SessionFilter' : sessionfilter.SessionFilter, 167 'StaticFilter' : staticfilter.StaticFilter, 168 'TidyFilter' : tidyfilter.TidyFilter, 169 'VirtualHostFilter' : virtualhostfilter.VirtualHostFilter, 170 'XmlRpcFilter' : xmlrpcfilter.XmlRpcFilter, 171 } 172 173 # this is where the actuall filter instances are first stored 174 _cpDefaultFilterInstances = {} 160 175 161 176 # These are in order for a reason! 162 163 _ cpDefaultInputFilterList= [164 _cachefilter,165 _logdebuginfofilter,166 virtualhostfilter.VirtualHostFilter(),167 baseurlfilter.BaseUrlFilter(),168 decodingfilter.DecodingFilter(),169 _sessionfilter,170 sessionauthenticatefilter.SessionAuthenticateFilter(),171 staticfilter.StaticFilter(),172 _nsgmlsfilter,173 _tidyfilter,174 _xmlfilter,177 # They must be strings matching keys in _cpDefaultFilterClasses 178 __cpDefaultInputFilters = [ 179 'CacheFilter', 180 'LogDebugInfoFilter', 181 'VirtualHostFilter', 182 'BaseUrlFilter', 183 'DecodingFilter', 184 'SessionFilter', 185 'SessionAuthenticateFilter', 186 'StaticFilter', 187 'NsgmlsFilter', 188 'TidyFilter', 189 'XmlRpcFilter', 175 190 ] 176 _cpDefaultOutputFilterList = [ 177 _xmlfilter, 178 encodingfilter.EncodingFilter(), 179 _tidyfilter, 180 _nsgmlsfilter, 181 _logdebuginfofilter, 182 gzipfilter.GzipFilter(), 183 _sessionfilter, 184 _cachefilter, 191 192 __cpDefaultOutputFilters = [ 193 'XmlRpcFilter', 194 'EncodingFilter', 195 'TidyFilter', 196 'NsgmlsFilter', 197 'LogDebugInfoFilter', 198 'GzipFilter', 199 'SessionFilter', 200 'CacheFilter', 185 201 ] 202 203 # these are the lists cp internally uses to access the filters 204 # they are populated when _cpInitDefaultFilters is called 205 _cpDefaultInputFilterList = [] 206 _cpDefaultOutputFilterList = [] 207 208 # initilize the default filters 209 def _cpInitDefaultFilters(): 210 global _cpDefaultInputFilterList, _cpDefaultOutputFilterList 211 _cpDefaultInputFilterList = [] 212 _cpDefaultOutputFilterList = [] 213 214 for filterName in __cpDefaultInputFilters: 215 filterClass = _cpDefaultFilterClasses[filterName] 216 filterInstance = _cpDefaultFilterInstances.setdefault(filterName, filterClass()) 217 _cpDefaultInputFilterList.append(filterInstance) 218 219 for filterName in __cpDefaultOutputFilters: 220 filterClass = _cpDefaultFilterClasses[filterName] 221 filterInstance = _cpDefaultFilterInstances.setdefault(filterName, filterClass()) 222 _cpDefaultOutputFilterList.append(filterInstance) 186 223 187 224 # public domain "unrepr" implementation, found on the web and then improved. … … 195 232 class UnknownType(Exception): 196 233 pass 197 234 # initilize the built in filters 235 for n in xrange(len(_cpDefaultInputFilterList)): 236 try: 237 _cpDefaultInputFilterList[n] = _cpDefaultInputFilterList[n]() 238 except: 239 pass 240 241 for n in xrange(len(_cpDefaultOutputFilterList)): 242 try: 243 _cpDefaultOutputFilterList[n] = _cpDefaultOutputFilterList[n]() 244 except: 245 pass 246 198 247 class Builder: 199 248 trunk/cherrypy/config.py
r404 r408 55 55 'server.reverseDNS': False, 56 56 'server.threadPool': 0, 57 58 'sessionFilter.on' : False,59 'sessionFilter.sessionList' : ['default'],60 'sessionFIlter.storageAdaptors' : {},61 'sessionFilter.default.on': True,62 'sessionFilter.default.timeout': 60,63 'sessionFilter.default.cleanUpDelay': 60,64 'sessionFilter.default.storageType' : 'ram',65 'sessionFilter.default.cookiePrefix': 'CherryPySession',66 'sessionFilter.default.storagePath': '.sessiondata'67 57 } 68 58 trunk/cherrypy/lib/filter/sessionfilter/__init__.py
r403 r408 36 36 except ImportError: 37 37 from cherrypy._cpthreadinglocal import local 38 38 39 39 # Create as sessions object for accessing session data 40 40 cherrypy.sessions = local() 41 42 41 self.sessionManagers = {} 42 cherrypy.config.update({'global' : sessionconfig._sessionDefaults}) 43 43 44 44 trunk/cherrypy/lib/filter/sessionfilter/sessionconfig.py
r382 r408 29 29 import cherrypy 30 30 31 # these get copied to the configMap when the filter 32 # is initilized 33 _sessionDefaults = { 34 'sessionFilter.on' : False, 35 'sessionFilter.sessionList' : ['default'], 36 'sessionFIlter.storageAdaptors' : {}, 37 'sessionFilter.default.on': True, 38 'sessionFilter.default.timeout': 60, 39 'sessionFilter.default.cleanUpDelay': 60, 40 'sessionFilter.default.storageType' : 'ram', 41 'sessionFilter.default.cookiePrefix': 'CherryPySession', 42 'sessionFilter.default.storagePath': '.sessiondata' 43 } 31 44 32 45 def retrieve(keyName, sessionName, default = None): trunk/cherrypy/server.py
r405 r408 65 65 - create response and request objects 66 66 - starts a server 67 - initilizes built in filters 67 68 """ 68 69 … … 102 103 else: 103 104 cherrypy.profiler = None 105 106 # Initilize the built in filters 107 cherrypy._cputil._cpInitDefaultFilters() 104 108 105 109 if initOnly: trunk/cherrypy/test/test.py
r405 r408 187 187 cherrypy.config.reset() 188 188 cherrypy.config.update({'global': server_conf.copy()}) 189 cherrypy._cputil._cpInitDefaultFilters() 189 190 suite = CPTestLoader.loadTestsFromName(testmod) 190 191 CPTestRunner(verbosity=2).run(suite)

