At 08:42 PM 11/26/2009 -0500, James Y Knight wrote:
I move to bless mod_wsgi's definition of WSGI 1.1 [1] as the
official definition of WSGI 1.1, which describes how to implement
WSGI adapters for both Python 2.x and 3.x. It may not be perfect,
but, it's been implemented twice, and seems ot have no fatal flaws
(it doesn't do any lossy transforms, so any issues are irritations
at worst). The basis for this definition is also described in the
"WSGI 1.0 Ammendments" [2] page.
The definitions as they stand are clear enough to understand and
implement, but not currently in spec-worthy language. (e.g. it says
"should" and "may" in a colloquial fashion, but actually means MUST
in some places and SHOULD in others, as defined by RFC 2119)
Thus, I'd like to suggest that Graham (if he's willing?) should
reformat the "Definition"/"Ammendments" as an actual diff against
the current PEP 333. Then, I will recommend adopting that document
as an actual standard WSGI 1.1, to replace PEP 333.
I'm +1, with a few caveats. First, as you mention, it needs to be
spec'd properly. In particular, it should be clarified that the main
changes are to *allow byte strings* in certain places where WSGI 1.0
demands a unicode string w/latin-1 encoding.
Second, I do not think that the "additional guarantees/requirements"
can be safely added to a 1.x version, as they make it impossible for
an app to tell whether it's *really* running under 1.1 or under a
broken piece of middleware that's passing through wsgi.version but
not actually providing 1.1-level guarantees. I would therefore
suggest that these additional guarantees and requirements be deferred
to WSGI 2.0.
_______________________________________________
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