Changeset 86

Show
Ignore:
Timestamp:
06/13/07 20:54:58
Author:
bbangert
Message:

Close the app_iter if necessary.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • AuthKit/branches/0.4/authkit/authenticate/multi.py

    r74 r86  
    2323        headers_ = [] 
    2424        exc_info_ = [] 
    25  
     25         
    2626        def app(environ, start_response): 
    2727            def find(status, headers, exc_info=None): 
     
    3131                log.debug("Status: %r, Headers: %r", status, headers) 
    3232            return self.default(environ, find) 
    33  
     33         
    3434        def logging_start_response(status, headers, exc_info=None): 
    3535            log.debug("Matched binding returns status: %r, headers: %r, " 
    3636                      "exc_info: %r", status, headers, exc_info) 
    3737            return start_response(status, headers, exc_info) 
    38              
     38         
    3939        def check(): 
    4040            for (checker,binding) in self.predicate: 
     
    5959                    return binding(environ, logging_start_response) 
    6060            return None 
    61              
     61         
    6262        app_iter = app(environ, start_response) 
    6363        if not status_: 
     
    7272                           exc_info_[0]) 
    7373            return app_iter 
     74         
     75        # Close app_iter if necessary 
     76        if hasattr(app_iter, 'close'): 
     77            app_iter.close() 
     78         
    7479        return result 
    7580