<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Project><name>wsgistraw</name>
<shortdesc>Decorators for WSGI without start_response and write</shortdesc>
<description>**wsgistraw** (WSGI without STart_Response And Write) is a tiny Python
library that simplifies coding WSGI applications and middleware by removing
``start_response`` and ``write`` from signatures of functions. This leads to a
signature like:

::

    def app(environ):
        return "200 OK", [("Content-Type", "text/plain")], ["Hello World!"]

That is, return a three-tuple of ``(status, headers, response)``.

``start_response`` and ``write`` are very annoying in WSGI middleware. wsgistraw
makes your middleware code cleaner. This is an example of a "lowercase"
middleware factory:

::

    @wsgistraw.mid_factory
    def lowercase(app):
        def mid(environ):
            status, headers, response = app(environ)
            return status, headers, (s.lower() for s in response)
        return mid

What's New
----------

A bugfix release. Fixed a bug in ``app_proxy`` with extending an iterable with
the results of ``write()``.

See Also
--------

* `wsgistraw Project`__
* `WSGI 2.0 at WSGI Wiki`__
* `PEP 333`__

__ http://abstracthack.wordpress.com/wsgistraw
__ http://www.wsgi.org/wsgi/WSGI_2.0
__ http://www.python.org/dev/peps/pep-0333/</description>
<homepage rdf:resource="http://abstracthack.wordpress.com/wsgistraw" />
<maintainer><foaf:Person><foaf:name>Andrey Nordin</foaf:name>
</foaf:Person></maintainer>
<release><Version><revision>0.1.2</revision></Version></release>
</Project></rdf:RDF>