Hi,
I'm thinking about the next generation Python web frameworks that uses
a lot of WSGI components such as:
- repoze.who (authentication)
- repose.what (authorization)
-
repoze.tm (transactions)
- toscawidgets (forms, js)
- error handling
- sessing handling
- caching
For many more see
http://repoze.org/repoze_components.html#middleware
CherryPy has no problem handling this, but the stack gets big, and
every controller in your framework will have to suffer because of the
one that needs them all. It would be very nice if you configure the
pipeline per class/method using _cp_config, so your "simple"
controllers does not need to run through them all. But it's not that
easy when dispatching is done after all the wsgi stuff. I know that CP
tools can be configured this way, and I've wrapped stuff like
toscawidgets and
repoze.tm http://trac.turbogears.org/attachment/ticket/1065/transactions-tg15-2.diff.
But I haven't got time to wrap them all, and would really like to find
a better way. It possible to mount several applications and have a
different pipeline for each of them, but it's not as flexible and easy
as doing it per class/method with config.
-- Dag