[Web-SIG] WSGI in standard library

Clark C. Evans cce at clarkevans.com
Wed Feb 15 21:17:42 CET 2006


On Wed, Feb 15, 2006 at 11:27:01AM -0800, Guido van Rossum wrote:
| > If you're worried about "featurebloat" have you even looked at 
| > the 190 line headers.py?  I rest my case.
| 
| What case? It's totally reasonable code implementing a fairly complete
| mapping API. Smells similar to rfc822.py actually.

Then perhaps this should be included in the ``list`` or ``dict``
interface.  If it is WSGI specific, then it's "feature bloat".  I have a
very large WSGI application, and I've not seen the need for this module
even once.  While I don't mind it, it is unnecessary baggage: it is not
required by the specification and does little to help its usage.

| > I'm talking about a Sufficient _and_ Necessary implementation of WSGI,
| > I'm more than happy to help, and I'm more than happy to leave final
| > discretion to Phillip Eby as he has demonstrated a serious command
| > over the problem domain.
| 
| If there's anything in wsgiref you think should be changed, please
| be specific.

* __init__.py should be updated to remove future plans such as
  validate, cgi_gateway, cgi_wrapper and router

* wsgiref/handlers should be removed in its entirety; it adds
  little to the reference implementation

* as I've stated above, wsgiref/headers should be re-factored
  into a shared library; or dropped altogether -- it really has
  very little to do with WSGI

* wsgiref/simple_server should be re-written as mix-ins, allowing
  for implementations other than BaseHTTPRequestHandler and HTTPServer;
  a demonstration using SSL should be provided in documentation string
  or its equivalent

* wsgiref/simple_serve/demo_app and the __name__ == '__main__' test
  suite should be moved into documentation and not be included in 
  the standard distribution

* either the WSGI specification should be amended to not support
  (not talk about?) 100-continue and chucked-encoding, or the 
  implementation should provide a valid interpretation of the
  requirements specified

* some attempt at handling connection-dropping clients should be done in
  either HTTPServer or at a higher level in WSGI; I don't care which
  
* since this is a *DEMO* implementation, it should be heavily
  commented... otherwise it fails its duty of being instructive

Kind Regards,

Clark


More information about the Web-SIG mailing list