diff options
author | Tiago Gomes <tiago.gomes@codethink.co.uk> | 2013-09-04 16:29:50 +0100 |
---|---|---|
committer | Tiago Gomes <tiago.gomes@codethink.co.uk> | 2013-09-12 16:00:32 +0100 |
commit | 5e4ad62d4d5b8ecabf4aa01b6de918fc322b8292 (patch) | |
tree | e1fb531c588ad5cedbb81939ef2ca66620e662d8 | |
parent | 040ddbcce41c576fab28f9004cbcbb0109cfb26a (diff) | |
download | morph-5e4ad62d4d5b8ecabf4aa01b6de918fc322b8292.tar.gz |
Allow to use flup as the backend server for bottle.
lighttpd does not support WSGI, so we need to be able to run
the server in FCGI mode. The flup package provides one.
Running with the default bottle server is still useful
for testing purposes.
-rwxr-xr-x | morph-cache-server | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/morph-cache-server b/morph-cache-server index d3e42c62..1c9a53de 100755 --- a/morph-cache-server +++ b/morph-cache-server @@ -26,7 +26,7 @@ import urllib2 import shutil from bottle import Bottle, request, response, run, static_file - +from flup.server.fcgi import WSGIServer from morphcacheserver.repocache import RepoCache @@ -61,6 +61,10 @@ class MorphCacheServer(cliapp.Application): 'cache directories are directly managed') self.settings.boolean(['enable-writes'], 'enable the write methods (fetch and delete)') + self.settings.boolean(['fcgi-server'], + 'runs a fcgi-server', + default=True) + def _fetch_artifact(self, url, filename): in_fh = None @@ -302,8 +306,12 @@ class MorphCacheServer(cliapp.Application): root = Bottle() root.mount(app, '/1.0') - - run(root, host='0.0.0.0', port=self.settings['port'], reloader=True) + + + if self.settings['fcgi-server']: + WSGIServer(root).run() + else: + run(root, host='0.0.0.0', port=self.settings['port'], reloader=True) def _unescape_parameter(self, param): return urllib.unquote(param) |