Mercurial > hg > wsgintegrate
annotate 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 |
rev | line source |
---|---|
0
ec815b7cb142
initial commit of wsgintegrate
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
1 """ |
ec815b7cb142
initial commit of wsgintegrate
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
2 front-ends for various WSGI servers |
ec815b7cb142
initial commit of wsgintegrate
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
3 """ |
ec815b7cb142
initial commit of wsgintegrate
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
4 |
8 | 5 from factory import WSGIfactory |
0
ec815b7cb142
initial commit of wsgintegrate
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
6 |
20 | 7 __all__ = ['wsgiref', 'servers', 'paster'] |
8 | |
23 | 9 |
10 ### wsgiref | |
11 | |
0
ec815b7cb142
initial commit of wsgintegrate
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
12 def wsgiref(app, host='0.0.0.0', port=80): |
23 | 13 from wsgiref import simple_server |
14 server = simple_server.make_server(host=host, port=int(port), app=app) | |
15 server.serve_forever() | |
0
ec815b7cb142
initial commit of wsgintegrate
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
16 |
20 | 17 servers = {'wsgiref': wsgiref} |
18 | |
23 | 19 |
20 ### paste | |
21 | |
20 | 22 try: |
23 | 23 from paste import httpserver |
24 def paste_server(app, host='0.0.0.0', port=80): | |
25 httpserver.serve(app, host=host, port=port) | |
26 servers['paste'] = paste_server | |
20 | 27 except ImportError: |
23 | 28 print ("Not adding paste.httpserver; not installed") |
20 | 29 |
0
ec815b7cb142
initial commit of wsgintegrate
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
30 def paster(global_conf, **kw): |
23 | 31 """factory for paster""" |
32 return WSGIfactory(**kw) | |
33 | |
34 | |
35 ### tornado | |
36 ### http://www.tornadoweb.org/en/stable/httpserver.html | |
37 ### http://www.tornadoweb.org/en/stable/httputil.html#tornado.httputil.HTTPServerRequest | |
38 ### unfinished | |
39 | |
40 try: | |
20 | 41 |
23 | 42 import tornado.httpserver |
43 import tornado.ioloop | |
44 | |
45 def handle_request(request): | |
46 message = "You requested %s\n" % request.uri | |
47 request.connection.write_headers( | |
48 httputil.ResponseStartLine('HTTP/1.1', 200, 'OK'), | |
49 {"Content-Length": str(len(message))}) | |
50 request.connection.write(message) | |
51 request.connection.finish() | |
52 #http_server = tornado.httpserver.HTTPServer(handle_request) | |
53 #http_server.listen(8888) | |
54 #tornado.ioloop.IOLoop.instance().start() | |
55 except ImportError: | |
56 pass |