From 3aeb1801d93672a5d13e23c90875d5bac9669fdf Mon Sep 17 00:00:00 2001 From: Henri Date: Sat, 5 Dec 2020 22:06:40 +0100 Subject: [PATCH] Start CherryPy in environment "staging" --- src/wgfrontend/webapp.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/wgfrontend/webapp.py b/src/wgfrontend/webapp.py index 3316bf5..3d9cdbb 100644 --- a/src/wgfrontend/webapp.py +++ b/src/wgfrontend/webapp.py @@ -102,8 +102,12 @@ def run_webapp(cfg): """Runs the CherryPy web application with the provided configuration data""" script_path = os.path.dirname(os.path.abspath(__file__)) app = WebApp(cfg) + # Configure the web application app_conf = { - '/': { + 'global': { + 'environment' : 'production' + }, + '/': { 'tools.sessions.on': True, 'tools.staticdir.root': os.path.join(script_path, 'webroot'), 'tools.session_auth.on': True, @@ -127,14 +131,23 @@ def run_webapp(cfg): 'tools.staticfile.filename': os.path.join(script_path, 'webroot', 'static', 'favicon.ico') } } + # Use SSL if certificate files exist if os.path.exists(cfg.sslcertfile) and os.path.exists(cfg.sslkeyfile): # Use ssl/tls if certificate files are present cherrypy.server.ssl_module = 'builtin' cherrypy.server.ssl_certificate = cfg.sslcertfile cherrypy.server.ssl_private_key = cfg.sslkeyfile + # Define socket parameters cherrypy.config.update({'server.socket_host': cfg.socket_host, 'server.socket_port': cfg.socket_port, }) + # Select environment + cherrypy.config.update({'staging': + { + 'environment' : 'production' + } + }) + # Start CherryPy cherrypy.tree.mount(app, config=app_conf) if setupenv.is_root(): # Drop privileges