Thanks for the feedback. I'm not willing to accept that WSGI couldn't be this simple. Pump's specification is modeled on Ring for Clojure (https://github.com/mmcgrana/ring), and I'm sure there's a way Ring gets around the issues you mention. I'd never had to do any of those things before but I'll look into it now.
justin_vanw|14 years ago
In the meantime, don't bash WSGI until you understand why it is the way it is.
pyninja|14 years ago
I'm reposting a reply I made earlier to irahul:
Pump aims to replace WSGI entirely. That is, I believe it does a better job of what WSGI was intended to do.
I understand your point that web developers don't necessarily work with WSGI on a day-to-day basis. But if you look at the Ruby web community, Rack middlewares are much more prevalent than WSGI middlewares. Application developers (as opposed to framework developers) often add functionality as a Rack middleware, so that it can be reused in different applications, even using different frameworks. Why isn't that happening with Python as much? In the Python world, instead of writing even simple middlewares to for basic functionality like https://github.com/adeel/pump/blob/master/pump/middleware/pa... or https://github.com/adeel/pump/blob/master/pump/middleware/co..., every framework ends up reimplementing it. I believe this is because the WSGI API is ugly and not as easy to understand as it could be (just look at the average WSGI middleware).
sigil|14 years ago
You should also allow multiple headers with the same field-name, since that's in the spec.
I like the idea of Pump, and am tired of frameworks protecting me from HTTP.
EDIT: Looking at the WebOb code. It does have quite a few conveniences for working with HTTP messages. I'm not sure if copying bodies into temp files in order to make them seekable is a "completely fantastic way" of doing things, but if I were you I'd definitely read through WebOb to see what kind of problems you might be up against.
justin_vanw|14 years ago
sergeys|14 years ago
masklinn|14 years ago
if you don't like being "protected from http" why not write raw wsgi applications?
voidfiles|14 years ago