Robert Brewer wrote: > Alan Kennedy wrote: > >>3. If I had to pick one of the 3 you suggested, I'd pick the >>last one, i.e. PJE's, because it fulfills exactly the criteria >>I listed >> >> - It's pretty much the simplest possible implementation, >>meaning it's easiest to understand. > > > I have to disagree (having examined/unraveled it quite a bit recently, > to remove modpython_gateway's dependency on it). The server class seems > simple enough, but the handlers module is IMO horribly convoluted, > mostly to support too many options: async vs. threaded, origin and > non-origin servers, various HTTP versions, file sending hooks, etc. > There are simply too many variables involved in building a WSGI handler > appropriate for your environment; trying to do that by subclassing > wsgiref.handlers.* results in extremely complicated and slow code.
I think it also tries to enforce a lot of the details of WSGI, and thus guide a WSGI implementor into creating a compliant server. But in the process it creates a framework that has to be correctly used, so it's swapping a well-understood set of bugs (doing something you aren't supposed to with WSGI) for a different set (using the handler incorrectly). paste.lint is reasonably good at checking WSGI compliance (those parts that are actually detectable) without caring about what your code actually looks like. I think it is easier to use, with largely the same effect. For the actual server a framework seems unnecessary, as there will only be two servers in the standard library (I assume) -- CGI and HTTP (and hopefully HTTPS will be easy to build off of HTTP). -- Ian Bicking / [EMAIL PROTECTED] / http://blog.ianbicking.org _______________________________________________ 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