from allura.config.app_cfg import ForgeConfig from allura.lib.custom_middleware import AlluraTimerMiddleware from allura.lib.custom_middleware import SSLMiddleware from allura.lib.custom_middleware import StaticFilesMiddleware from allura.lib.custom_middleware import CSRFMiddleware from allura.lib.custom_middleware import CORSMiddleware from allura.lib.custom_middleware import LoginRedirectMiddleware from allura.lib.custom_middleware import RememberLoginMiddleware from allura.lib.custom_middleware import SetRequestHostFromConfig from allura.lib import helpers as h __all__ = ['make_app'] # Use base_config to setup the necessary PasteDeploy application factory. # make_base_app will wrap the TG2 app with all the middleware it needs. make_base_app = base_config.setup_tg_wsgi_app(load_environment) def make_app(global_conf, full_stack=True, **app_conf): root = app_conf.get('override_root', 'root') return _make_core_app(root, global_conf, full_stack, **app_conf) def _make_core_app(root, global_conf, full_stack=True, **app_conf): """ Set allura up with the settings found in the PasteDeploy configuration file used. :param root: The controller module containing the TG root :param global_conf: The global settings for allura (those defined under the ``[DEFAULT]`` section).