Mercurial > hg > wsgintegrate
view wsgintegrate/server.py @ 23:01b0ad159fe3
add tornado server
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 27 Jul 2014 13:17:47 -0700 |
parents | caf763fc1c7d |
children | 1ad7f99f588d |
line wrap: on
line source
""" front-ends for various WSGI servers """ from factory import WSGIfactory __all__ = ['wsgiref', 'servers', 'paster'] ### wsgiref def wsgiref(app, host='0.0.0.0', port=80): from wsgiref import simple_server server = simple_server.make_server(host=host, port=int(port), app=app) server.serve_forever() servers = {'wsgiref': wsgiref} ### paste try: from paste import httpserver def paste_server(app, host='0.0.0.0', port=80): httpserver.serve(app, host=host, port=port) servers['paste'] = paste_server except ImportError: print ("Not adding paste.httpserver; not installed") def paster(global_conf, **kw): """factory for paster""" return WSGIfactory(**kw) ### tornado ### http://www.tornadoweb.org/en/stable/httpserver.html ### http://www.tornadoweb.org/en/stable/httputil.html#tornado.httputil.HTTPServerRequest ### unfinished try: import tornado.httpserver import tornado.ioloop def handle_request(request): message = "You requested %s\n" % request.uri request.connection.write_headers( httputil.ResponseStartLine('HTTP/1.1', 200, 'OK'), {"Content-Length": str(len(message))}) request.connection.write(message) request.connection.finish() #http_server = tornado.httpserver.HTTPServer(handle_request) #http_server.listen(8888) #tornado.ioloop.IOLoop.instance().start() except ImportError: pass