Le 21/02/2012 09:23, Tarek Ziadé a écrit :
    Instead of having to provide two or three objects separately to a
    server, how about making the callbacks attributes of the application
    callable?


can you show us an example ?

Proposal:

Function-based:

    def startup():
        return open_resource(something)

    def shutdown(resource):
        resource.close()

    def application(environ, start_response):
        # ...
        return response_body

    application.startup = startup
    application.shutdown = shutdown

Class-based:

    class App(object):
        def startup(self):
            return open_resource(something)

        def shutdown(self, resource):
            resource.close()

        def __call__(self, environ, start_response):
            # ...
            return response_body

    application = App()

The return value of startup() can be any python object and is opaque to the server. It is passed as-is to shutdown()

startup() could take more parameters. Maybe the application (though can we already have it as self for class-based or in a closure for function-based)

Regards,
--
Simon Sapin
_______________________________________________
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com

Reply via email to