Ian Bicking ha scritto:
Manlio Perillo wrote:
I'm adding web-sig in Cc.
[...]
I'm developing a WSGI framework with all these (and other) ideas:
http://hg.mperillo.ath.cx/wsgix
Its still not documented, so I have not yet made an official
announcement.
The main design goal is to keep the level of the interface as low
level as possible.
I don't like additional interfaces (like Request and Response) objects
around the WSGI dictionary, and I don't like frameworks like Django
that completely hides the WSGI interface.
Have you tried webob? My first run as Paste avoided wrappers around
those objects, but an object interface has been very helpful.
I have not tried it, but I have read the code (as I have read the code
of Paste).
In principle I'm against using additional interface, and one of the
reason I wrote wsgix is to have a prof of concept, for trying to
understand if it is feasible to write a WSGI application using an
alternative framework.
wsgix (+ mod_wsgi for Nginx) has the same role as Paste, but I have
decided to use a rather different approach.
As an example, in Paste you have choosed to using config dictionary for
middleware configuration, that is, you have middleware factories.
In wsgix it is very different.
As an example:
http://hg.mperillo.ath.cx/wsgix/file/tip/wsgix/contrib/messages.py
http://hg.mperillo.ath.cx/wsgix/file/tip/wsgix/contrib/error_page.py
There are no factories.
The configuration is read (and globally cached) at request time from the
environ dictionary.
With Nginx, configuration parameters can be defined in the server
configuration.
There is an helper class:
http://hg.mperillo.ath.cx/wsgix/file/tip/wsgix/options.py
that helps with the parsing.
There is also a middleware:
http://hg.mperillo.ath.cx/wsgix/file/tip/wsgix/conf/middleware.py
that reads the configuration from a YAML file, and merge it into the
environ dictionary.
Of course it's all a matter of personal taste :).
The goal is to have the possibility to write "truly" reusable
middlewares, that are easy to "plug" inside any WSGI server (almost all
of configuration parameters have default values).
Manlio Perillo
_______________________________________________
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