def my_awesome_application(environ): # do stuff return b'200 OK', [], ["Hello, World!"] def my_middelware(app): def wrapper(environ): # maybe edit environ try: status, headers, body = app(environ) # maybe edit response: # body = (piglatin(data) for data in body) return status, headers, body except: # maybe handle error finally: # maybe release resources def my_server(app, httpreq): environ = wsgi.make_environ(httpreq) try: status, headers, body = app(environ) write_headers(httpreq, status, headers) for data in body: write_data(httpreq, data) except: respond_with_500()