summaryrefslogtreecommitdiff
path: root/pypers/wsgi/notes.py
diff options
context:
space:
mode:
authormichele.simionato <devnull@localhost>2007-12-02 11:13:11 +0000
committermichele.simionato <devnull@localhost>2007-12-02 11:13:11 +0000
commit20ce686b0193d67ea56823a30551140f88b3aee1 (patch)
tree76015e7e4dc0b000bd857a2bdba6fb7976ac29a7 /pypers/wsgi/notes.py
parentf08f40335ad7f0ac961f25dabaaed34c4d4bcc44 (diff)
downloadmicheles-20ce686b0193d67ea56823a30551140f88b3aee1.tar.gz
Commited all py papers into Google code
Diffstat (limited to 'pypers/wsgi/notes.py')
-rw-r--r--pypers/wsgi/notes.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/pypers/wsgi/notes.py b/pypers/wsgi/notes.py
new file mode 100644
index 0000000..ac0fbd1
--- /dev/null
+++ b/pypers/wsgi/notes.py
@@ -0,0 +1,32 @@
+from wsgiref.simple_server import make_server
+
+# WSGI app
+def simple_app(env, resp):
+ resp('200 OK', [('Content-type','text/plain')])
+ return ['Hello world!\n']
+
+# error management
+def robust_app(env, resp): # the page has to be created fully *before* sending the response
+ try:
+ status = "200 OK"
+ response_headers = [("content-type","text/plain")]
+ resp(status, response_headers)
+ return ["normal body goes here"]
+ except KeyboardError:
+ pass
+ except:
+ status = "500 ERR"
+ response_headers = [("content-type","text/plain")]
+ resp(status, response_headers, sys.exc_info())
+ return ["error body goes here"]
+
+# Middleware
+upper = lambda x: (e.upper() for e in x)
+def upper_middleware(app):
+ return lambda env, resp: upper(app(env, resp))
+
+
+
+
+if __name__ == '__main__':
+ make_server('', 8000, upper_middleware(simple_app)).serve_forever()