def includeme(config): Settings = dictset(config.registry.settings) config.include("nefertari.engine") config.include("nefertari") config.include("nefertari.view") config.include("nefertari.elasticsearch") # Process nefertari settings if Settings.asbool("debug"): log.warning("*** DEBUG DEBUG DEBUG mode ***") config.add_tween("nefertari.tweens.get_tunneling") if Settings.asbool("cors.enable"): config.add_tween("nefertari.tweens.cors") if Settings.asbool("ssl_middleware.enable"): config.add_tween("nefertari.tweens.ssl") if Settings.asbool("request_timing.enable"): config.add_tween("nefertari.tweens.request_timing") # Set root factory config.root_factory = NefertariRootACL # Process auth settings root = config.get_root_resource() ramses_auth = Settings.asbool("ramses.auth", False) root.auth = ramses_auth log.info("Parsing RAML") parsed_raml = pyraml.parser.load(Settings["ramses.raml_schema"]) log.info("Starting models generation") generate_models(config, raml_resources=parsed_raml.resources) if ramses_auth: if getattr(config.registry, "auth_model", None) is None: from nefertari.authentication.models import AuthUser config.registry.auth_model = AuthUser from .auth import setup_auth_policies setup_auth_policies(config, parsed_raml) log.info("Starting server generation") generate_server(parsed_raml, config) log.info("Running nefertari.engine.setup_database") from nefertari.engine import setup_database setup_database(config) from nefertari.elasticsearch import ES ES.setup_mappings() if ramses_auth: config.include("ramses.auth") log.info("Server succesfully generated\n")
def main(global_config, **settings): Settings.update(settings) Settings.update(global_config) authz_policy = ACLAuthorizationPolicy() config = Configurator( settings=settings, authorization_policy=authz_policy, root_factory=NefertariRootACL, ) config.include('nefertari.engine') from example_api.model import Profile from example_api.model import User authn_policy = AuthTktAuthenticationPolicy( Settings['auth_tkt_secret'], callback=User.get_groups_by_userid, hashalg='sha512', cookie_name='example_api_auth_tkt', http_only=True, ) config.set_authentication_policy(authn_policy) config.include(includeme) from nefertari.engine import setup_database setup_database(config) config.commit() initialize() return config.make_wsgi_app()
def includeme(config): Settings = dictset(config.registry.settings) config.include('nefertari.engine') config.include('nefertari') config.include('nefertari.view') # Process nefertari settings if Settings.asbool('debug'): log.warning('*** DEBUG DEBUG DEBUG mode ***') config.add_tween('nefertari.tweens.get_tunneling') if Settings.asbool('cors.enable'): config.add_tween('nefertari.tweens.cors') if Settings.asbool('ssl_middleware.enable'): config.add_tween('nefertari.tweens.ssl') if Settings.asbool('request_timing.enable'): config.add_tween('nefertari.tweens.request_timing') # Set root factory config.root_factory = NefertariRootACL # Process auth settings root = config.get_root_resource() ramses_auth = Settings.asbool('ramses.auth', False) root.auth = ramses_auth log.info('Parsing RAML') parsed_raml = pyraml.parser.load(Settings['ramses.raml_schema']) log.info('Starting models generation') generate_models(config, raml_resources=parsed_raml.resources) if ramses_auth: if getattr(config.registry, 'auth_model', None) is None: from nefertari.authentication.models import get_authuser_model config.registry.auth_model = get_authuser_model() from .auth import setup_auth_policies setup_auth_policies(config, parsed_raml) config.include('nefertari.elasticsearch') log.info('Starting server generation') generate_server(parsed_raml, config) log.info('Running nefertari.engine.setup_database') from nefertari.engine import setup_database setup_database(config) from nefertari.elasticsearch import ES ES.setup_mappings() if ramses_auth: config.include('ramses.auth') log.info('Server succesfully generated\n')
def includeme(config): from .generators import generate_server, generate_models Settings = dictset(config.registry.settings) config.include('nefertari.engine') config.registry.database_acls = Settings.asbool('database_acls') if config.registry.database_acls: config.include('nefertari_guards') config.include('nefertari') config.include('nefertari.view') config.include('nefertari.json_httpexceptions') # Process nefertari settings if Settings.asbool('enable_get_tunneling'): config.add_tween('nefertari.tweens.get_tunneling') if Settings.asbool('cors.enable'): config.add_tween('nefertari.tweens.cors') if Settings.asbool('ssl_middleware.enable'): config.add_tween('nefertari.tweens.ssl') if Settings.asbool('request_timing.enable'): config.add_tween('nefertari.tweens.request_timing') # Set root factory config.root_factory = NefertariRootACL # Process auth settings root = config.get_root_resource() root_auth = getattr(root, 'auth', False) log.info('Parsing RAML') raml_root = ramlfications.parse(Settings['ramses.raml_schema']) log.info('Starting models generation') generate_models(config, raml_resources=raml_root.resources) if root_auth: from .auth import setup_auth_policies, get_authuser_model if getattr(config.registry, 'auth_model', None) is None: config.registry.auth_model = get_authuser_model() setup_auth_policies(config, raml_root) config.include('nefertari.elasticsearch') log.info('Starting server generation') generate_server(raml_root, config) log.info('Running nefertari.engine.setup_database') from nefertari.engine import setup_database setup_database(config) from nefertari.elasticsearch import ES ES.setup_mappings() if root_auth: config.include('ramses.auth') log.info('Server succesfully generated\n')