def main(global_config, config=None, **settings): if not config: config = Configurator(settings=settings, root_factory=RouteFactory) # Force project name, since it determines settings prefix. config.add_settings({'cliquet.project_name': 'kinto'}) cliquet.initialize(config, version=__version__, default_settings=DEFAULT_SETTINGS) settings = config.get_settings() # In Kinto API 1.x, a default bucket is available. # Force its inclusion if not specified in settings. if 'kinto.plugins.default_bucket' not in settings['includes']: config.include('kinto.plugins.default_bucket') # Retro-compatibility with first Kinto clients. config.registry.public_settings.add('cliquet.batch_max_requests') # Expose capability schema_enabled = asbool( settings['experimental_collection_schema_validation'] ) if schema_enabled: config.add_api_capability( "schema", description="Validates collection records with JSON schemas.", url="http://kinto.readthedocs.org/en/latest/api/1.x/" "collections.html#collection-json-schema") # Scan Kinto views. kwargs = {} flush_enabled = asbool(settings.get('flush_endpoint_enabled')) if flush_enabled: config.add_api_capability( "flush_endpoint", description="The __flush__ endpoint can be used to remove all " "data from all backends.", url="http://kinto.readthedocs.org/en/latest/configuration/" "settings.html#activating-the-flush-endpoint" ) else: kwargs['ignore'] = 'kinto.views.flush' config.scan("kinto.views", **kwargs) app = config.make_wsgi_app() # Install middleware (idempotent if disabled) return cliquet.install_middlewares(app, settings)
def main(global_config, config=None, **settings): if not config: config = Configurator(settings=settings, root_factory=RouteFactory) config.registry.command = global_config and global_config.get( "command", None) # Force settings prefix. config.add_settings({"kinto.settings_prefix": "kinto"}) kinto.core.initialize(config, version=__version__, default_settings=DEFAULT_SETTINGS) settings = config.get_settings() # Expose capability schema_enabled = asbool( settings["experimental_collection_schema_validation"]) if schema_enabled: config.add_api_capability( "schema", description="Validates collection records with JSON schemas.", url="https://kinto.readthedocs.io/en/latest/api/1.x/" "collections.html#collection-json-schema", ) # Scan Kinto views. kwargs = {} # Permissions endpoint enabled if permission backend is setup. is_admin_enabled = "kinto.plugins.admin" in settings["includes"] permissions_endpoint_enabled = (is_admin_enabled or asbool( settings["experimental_permissions_endpoint"])) and hasattr( config.registry, "permission") if permissions_endpoint_enabled: config.add_api_capability( "permissions_endpoint", description="The permissions endpoint can be used to list all " "user objects permissions.", url="https://kinto.readthedocs.io/en/latest/configuration/" "settings.html#activating-the-permissions-endpoint", ) else: kwargs.setdefault("ignore", []).append("kinto.views.permissions") config.scan("kinto.views", **kwargs) app = config.make_wsgi_app() # Install middleware (no-op if disabled) return kinto.core.install_middlewares(app, settings)
def main(global_config, config=None, **settings): if not config: config = Configurator(settings=settings, root_factory=RouteFactory) # Force project name, since it determines settings prefix. config.add_settings({'kinto.project_name': 'kinto'}) kinto.core.initialize(config, version=__version__, default_settings=DEFAULT_SETTINGS) settings = config.get_settings() # Expose capability schema_enabled = asbool( settings['experimental_collection_schema_validation'] ) if schema_enabled: config.add_api_capability( "schema", description="Validates collection records with JSON schemas.", url="https://kinto.readthedocs.io/en/latest/api/1.x/" "collections.html#collection-json-schema") # Scan Kinto views. kwargs = {} flush_enabled = asbool(settings['flush_endpoint_enabled']) if flush_enabled: config.add_api_capability( "flush_endpoint", description="The __flush__ endpoint can be used to remove all " "data from all backends.", url="https://kinto.readthedocs.io/en/latest/configuration/" "settings.html#activating-the-flush-endpoint") else: kwargs['ignore'] = ['kinto.views.flush'] # Permissions endpoint enabled if permission backend is setup. permissions_endpoint_enabled = ( asbool(settings['experimental_permissions_endpoint']) and hasattr(config.registry, 'permission')) if not permissions_endpoint_enabled: kwargs.setdefault('ignore', []).append('kinto.views.permissions') config.scan("kinto.views", **kwargs) app = config.make_wsgi_app() # Install middleware (idempotent if disabled) return kinto.core.install_middlewares(app, settings)
def main(global_config, config=None, **settings): if not config: config = Configurator(settings=settings, root_factory=RouteFactory) config.registry.command = global_config and global_config.get( 'command', None) # Force settings prefix. config.add_settings({'kinto.settings_prefix': 'kinto'}) kinto.core.initialize(config, version=__version__, default_settings=DEFAULT_SETTINGS) settings = config.get_settings() # Expose capability schema_enabled = asbool( settings['experimental_collection_schema_validation']) if schema_enabled: config.add_api_capability( 'schema', description='Validates collection records with JSON schemas.', url='https://kinto.readthedocs.io/en/latest/api/1.x/' 'collections.html#collection-json-schema') # Scan Kinto views. kwargs = {} # Permissions endpoint enabled if permission backend is setup. is_admin_enabled = 'kinto.plugins.admin' in settings['includes'] permissions_endpoint_enabled = ((is_admin_enabled or asbool( settings['experimental_permissions_endpoint'])) and hasattr(config.registry, 'permission')) if permissions_endpoint_enabled: config.add_api_capability( 'permissions_endpoint', description='The permissions endpoint can be used to list all ' 'user objects permissions.', url='https://kinto.readthedocs.io/en/latest/configuration/' 'settings.html#activating-the-permissions-endpoint') else: kwargs.setdefault('ignore', []).append('kinto.views.permissions') config.scan('kinto.views', **kwargs) app = config.make_wsgi_app() # Install middleware (no-op if disabled) return kinto.core.install_middlewares(app, settings)
def main(global_config, config=None, **settings): if not config: config = Configurator(settings=settings, root_factory=RouteFactory) # Force project name, since it determines settings prefix. config.add_settings({'kinto.project_name': 'kinto'}) kinto.core.initialize(config, version=__version__, default_settings=DEFAULT_SETTINGS) settings = config.get_settings() # Expose capability schema_enabled = asbool( settings['experimental_collection_schema_validation'] ) if schema_enabled: config.add_api_capability( 'schema', description='Validates collection records with JSON schemas.', url='https://kinto.readthedocs.io/en/latest/api/1.x/' 'collections.html#collection-json-schema') # Scan Kinto views. kwargs = {} # Permissions endpoint enabled if permission backend is setup. is_admin_enabled = 'kinto.plugins.admin' in settings['includes'] permissions_endpoint_enabled = ( (is_admin_enabled or asbool(settings['experimental_permissions_endpoint'])) and hasattr(config.registry, 'permission')) if permissions_endpoint_enabled: config.add_api_capability( 'permissions_endpoint', description='The permissions endpoint can be used to list all ' 'user objects permissions.', url='https://kinto.readthedocs.io/en/latest/configuration/' 'settings.html#activating-the-permissions-endpoint') else: kwargs.setdefault('ignore', []).append('kinto.views.permissions') config.scan('kinto.views', **kwargs) app = config.make_wsgi_app() # Install middleware (no-op if disabled) return kinto.core.install_middlewares(app, settings)
def main(global_config, config=None, **settings): if not config: config = Configurator(settings=settings, root_factory=RouteFactory) config.registry.command = global_config and global_config.get("command", None) # Force settings prefix. config.add_settings({"kinto.settings_prefix": "kinto"}) kinto.core.initialize(config, version=__version__, default_settings=DEFAULT_SETTINGS) settings = config.get_settings() # Expose capability schema_enabled = asbool(settings["experimental_collection_schema_validation"]) if schema_enabled: config.add_api_capability( "schema", description="Validates collection records with JSON schemas.", url="https://kinto.readthedocs.io/en/latest/api/1.x/" "collections.html#collection-json-schema", ) # Scan Kinto views. kwargs = {} # Permissions endpoint enabled if permission backend is setup. is_admin_enabled = "kinto.plugins.admin" in settings["includes"] permissions_endpoint_enabled = ( is_admin_enabled or asbool(settings["experimental_permissions_endpoint"]) ) and hasattr(config.registry, "permission") if permissions_endpoint_enabled: config.add_api_capability( "permissions_endpoint", description="The permissions endpoint can be used to list all " "user objects permissions.", url="https://kinto.readthedocs.io/en/latest/configuration/" "settings.html#activating-the-permissions-endpoint", ) else: kwargs.setdefault("ignore", []).append("kinto.views.permissions") config.scan("kinto.views", **kwargs) app = config.make_wsgi_app() # Install middleware (no-op if disabled) return kinto.core.install_middlewares(app, settings)
def main(global_config, config=None, **settings): if not config: config = Configurator(settings=settings, root_factory=RouteFactory) # Force project name, since it determines settings prefix. config.add_settings({'kinto.project_name': 'kinto'}) kinto.core.initialize(config, version=__version__, default_settings=DEFAULT_SETTINGS) settings = config.get_settings() # Expose capability schema_enabled = asbool( settings['experimental_collection_schema_validation']) if schema_enabled: config.add_api_capability( "schema", description="Validates collection records with JSON schemas.", url="http://kinto.readthedocs.io/en/latest/api/1.x/" "collections.html#collection-json-schema") # Scan Kinto views. kwargs = {} flush_enabled = asbool(settings.get('flush_endpoint_enabled')) if flush_enabled: config.add_api_capability( "flush_endpoint", description="The __flush__ endpoint can be used to remove all " "data from all backends.", url="http://kinto.readthedocs.io/en/latest/configuration/" "settings.html#activating-the-flush-endpoint") else: kwargs['ignore'] = 'kinto.views.flush' config.scan("kinto.views", **kwargs) app = config.make_wsgi_app() # Install middleware (idempotent if disabled) return kinto.core.install_middlewares(app, settings)