def run_server(info, host, port, url, ssl, ssl_key, ssl_cert, quiet, proxy, enable_evalex, evalex_from, reloader_type): if port is None: port = 8443 if ssl else 8000 if not enable_evalex: evalex_whitelist = False elif evalex_from: evalex_whitelist = evalex_from else: evalex_whitelist = True if not ssl: ssl_ctx = None elif ssl_key and ssl_cert: ssl_ctx = (ssl_cert, ssl_key) else: ssl_ctx = 'adhoc' if not url: proto = 'https' if ssl else 'http' url_host = '[{}]'.format(host) if ':' in host else host if (port == 80 and not ssl) or (port == 443 and ssl): url = '{}://{}'.format(proto, url_host) else: url = '{}://{}:{}'.format(proto, url_host, port) os.environ['INDICO_DEV_SERVER'] = '1' os.environ.pop('FLASK_DEBUG', None) os.environ['INDICO_CONF_OVERRIDE'] = repr({ 'BASE_URL': url, }) if os.environ.get('WERKZEUG_RUN_MAIN') != 'true': print(' * Serving Indico on {}'.format(url)) if evalex_whitelist: print(' * Werkzeug debugger console on {}/console'.format(url)) if evalex_whitelist is True: # noqa print(' * Werkzeug debugger console is available to all clients!') try: from indico.core.config import get_config_path extra_files = [get_config_path()] except Exception: extra_files = None # our own logger initialization code runs earlier so werkzeug # doesn't initialize its logger import logging werkzeug_logger = logging.getLogger('werkzeug') werkzeug_logger.propagate = False werkzeug_logger.setLevel(logging.INFO) werkzeug_logger.addHandler(logging.StreamHandler()) app = _make_wsgi_app(info, url, evalex_whitelist, proxy) run_simple(host, port, app, reloader_type=reloader_type, use_reloader=(reloader_type != 'none'), use_debugger=False, use_evalex=False, threaded=True, ssl_context=ssl_ctx, extra_files=extra_files, request_handler=QuietWSGIRequestHandler if quiet else None)
def run_cmd(info, host, port, url, ssl, ssl_key, ssl_cert, quiet, proxy, enable_evalex, evalex_from, reloader_type): if port is None: port = 8443 if ssl else 8000 if not enable_evalex: evalex_whitelist = False elif evalex_from: evalex_whitelist = evalex_from else: evalex_whitelist = True if not ssl: ssl_ctx = None elif ssl_key and ssl_cert: ssl_ctx = (ssl_cert, ssl_key) else: ssl_ctx = 'adhoc' if not url: proto = 'https' if ssl else 'http' url_host = '[{}]'.format(host) if ':' in host else host if (port == 80 and not ssl) or (port == 443 and ssl): url = '{}://{}'.format(proto, url_host) else: url = '{}://{}:{}'.format(proto, url_host, port) os.environ.pop('FLASK_DEBUG', None) os.environ['INDICO_CONF_OVERRIDE'] = repr({ 'BASE_URL': url, }) if os.environ.get('WERKZEUG_RUN_MAIN') != 'true': print ' * Serving Indico on {}'.format(url) if evalex_whitelist: print ' * Werkzeug debugger console on {}/console'.format(url) if evalex_whitelist is True: # noqa print ' * Werkzeug debugger console is available to all clients!' try: from indico.core.config import get_config_path extra_files = [get_config_path()] except Exception: extra_files = None # our own logger initialization code runs earlier so werkzeug # doesn't initialize its logger import logging werkzeug_logger = logging.getLogger('werkzeug') werkzeug_logger.propagate = False werkzeug_logger.setLevel(logging.INFO) werkzeug_logger.addHandler(logging.StreamHandler()) app = _make_wsgi_app(info, url, evalex_whitelist, proxy) run_simple(host, port, app, reloader_type=reloader_type, use_reloader=(reloader_type != 'none'), use_debugger=False, use_evalex=False, threaded=True, ssl_context=ssl_ctx, extra_files=extra_files, request_handler=QuietWSGIRequestHandler if quiet else None)