Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 720

Show
Ignore:
Timestamp:
10/06/05 11:08:34
Author:
rdelon
Message:

Fixed #312

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/lib/filter/sessionfilter.py

    r715 r720  
    185185            except: 
    186186                # Can't use try/finally because of yield 
    187                 self._clean(sess
     187                self._clean(
    188188                raise 
    189             self._clean(sess
     189            self._clean(
    190190         
    191191        sess = cherrypy.request._session 
     
    197197        #   either before or after the body is returned 
    198198        cherrypy.response.body = saveData(cherrypy.response.body, sess) 
    199      
     199 
     200    def onEndResource(self): 
     201        # If RequestHandled is raised, beforeFinalize and afterErrorResponse 
     202        #   are not called, so we release the session here 
     203        self._clean() 
     204 
    200205    def afterErrorResponse(self): 
    201         sess = cherrypy.request._session 
    202         if not sess.sessionStorage: 
     206        self._clean() 
     207     
     208    def _clean(self): 
     209        sess = cherrypy.request._session 
     210        if not getattr(sess, 'sessionStorage', None): 
    203211            # Sessions are not enabled: do nothing 
    204212            return 
    205         self._clean(sess) 
    206      
    207     def _clean(self, sess): 
    208213        if getattr(sess, 'locked', None): 
    209214            # If the session is still locked we release the lock 

Hosted by WebFaction

Log in as guest/cpguest to create tickets