Пример #1
0
    def __init__(self, global_config):
        self.config = global_config['https']
        http_helpers.add_logger(app, logger)

        app.after_request(http_helpers.log_request_hide_token)

        app.secret_key = os.urandom(24)
        app.permanent_session_lifetime = timedelta(seconds=global_config['session_lifetime'])
        app.config['amid'] = global_config.get('amid', {})
        app.config['auth'] = global_config.get('auth', {})
        app.config['call-logd'] = global_config.get('call-logd', {})
        app.config['confd'] = global_config.get('confd', {})
        app.config['dird'] = global_config.get('dird', {})
        app.config['plugind'] = global_config.get('plugind', {})
        app.config['provd'] = global_config.get('provd', {})
        app.config['webhookd'] = global_config.get('webhookd', {})
        app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024  # 16 megabytes

        if global_config['debug']:
            app.jinja_env.auto_reload = True
            app.config['TEMPLATES_AUTO_RELOAD'] = True

        configure_error_handlers(app)
        self._override_url_for()
        self._configure_jinja()
        self._configure_login(app.config['auth'])
        self._configure_menu()
        self._configure_session()
        self._configure_babel(global_config['enabled_plugins'])
Пример #2
0
 def __init__(self, global_config):
     self.config = global_config['rest_api']
     http_helpers.add_logger(app, logger)
     app.after_request(log_request_params)
     app.secret_key = os.urandom(24)
     app.permanent_session_lifetime = timedelta(minutes=5)
     auth_verifier.set_config(global_config['auth'])
     self._load_cors()
     self.server = None
Пример #3
0
 def __init__(self, global_config):
     self.config = global_config['http']
     http_helpers.add_logger(app, logger)
     app.before_request(http_helpers.log_before_request)
     app.after_request(http_helpers.log_request)
     app.secret_key = os.urandom(24)
     app.config.update(global_config)
     app.permanent_session_lifetime = timedelta(minutes=5)
     self._load_cors()
     self.server = None
Пример #4
0
 def __init__(self, config):
     self.config = config['rest_api']
     self.app = Flask('wazo_phoned')
     self._configure_babel(config['enabled_plugins'])
     http_helpers.add_logger(self.app, logger)
     self.app.before_request(http_helpers.log_before_request)
     self.app.after_request(http_helpers.log_request)
     self.app.secret_key = os.urandom(24)
     self.app.permanent_session_lifetime = timedelta(minutes=5)
     self.load_cors()
Пример #5
0
 def __init__(self, config, main_thread_proxy):
     app = Flask('xivo_ctid')
     http_helpers.add_logger(app, logger)
     app.after_request(http_helpers.log_request)
     app.secret_key = os.urandom(24)
     self.load_cors(app, config)
     api = Api(app, prefix='/{}'.format(self.VERSION))
     self._add_resources(api, main_thread_proxy)
     bind_addr = (config['http']['listen'], config['http']['port'])
     wsgi_app = wsgi.WSGIPathInfoDispatcher({'/': app})
     self._server = wsgi.WSGIServer(bind_addr=bind_addr, wsgi_app=wsgi_app)
Пример #6
0
 def __init__(self, global_config):
     self.config = global_config['rest_api']
     http_helpers.add_logger(app, logger)
     app.before_request(http_helpers.log_before_request)
     app.after_request(http_helpers.log_request)
     app.teardown_appcontext(teardown_appcontext)
     app.secret_key = os.urandom(24)
     app.config.update(global_config)
     app.permanent_session_lifetime = timedelta(minutes=5)
     auth_verifier.set_config(global_config['auth'])
     self._load_cors()
     self.server = None
Пример #7
0
    def __init__(self, config, service_proxy, auth_client):
        self._config = config['rest_api']
        self._app = Flask('xivo_agent')
        self._app.config.update(config)

        http_helpers.add_logger(self._app, logger)
        self._app.after_request(http_helpers.log_request)
        auth_verifier.set_client(auth_client)
        self._app.secret_key = os.urandom(24)
        self._load_cors()

        api = Api(self._app, prefix='/{}'.format(self.VERSION))
        self._add_resources(api, service_proxy)
Пример #8
0
def setup_app(config):
    app.secret_key = os.urandom(24)
    app.config.update(config)

    http_helpers.add_logger(app, logger)

    app.debug = config.get('debug', False)

    auth.set_config(config)
    core = CoreRestApi(app, api, auth)
    plugin_manager.load_plugins(core)

    load_cors(app)

    return app
Пример #9
0
 def __init__(self, global_config, token_service, user_service):
     self.config = global_config['rest_api']
     http_helpers.add_logger(app, logger)
     app.before_request(
         partial(http_helpers.log_before_request,
                 hidden_fields=['refresh_token']))
     app.after_request(http_helpers.log_request)
     app.teardown_appcontext(teardown_appcontext)
     app.secret_key = os.urandom(24)
     app.config.update(global_config)
     app.config['token_service'] = token_service
     app.config['user_service'] = user_service
     app.permanent_session_lifetime = timedelta(minutes=5)
     self._load_cors()
     self.server = None
Пример #10
0
    def __init__(self, global_config):
        self.config = global_config['rest_api']
        http_helpers.add_logger(app, logger)

        app.before_first_request(load_uuid)
        app.before_request(log_requests)
        app.after_request(after_request)

        app.secret_key = os.urandom(24)
        app.url_map.converters['filename'] = FilenameConverter

        app.config.update(global_config)
        app.config['MAX_CONTENT_LENGTH'] = 40 * 1024 * 1024

        auth_verifier.set_config(global_config['auth'])
        self._load_cors()
        self.server = None
Пример #11
0
def configure(global_config):

    http_helpers.add_logger(app, logger)
    app.after_request(http_helpers.log_request)
    app.config.update(global_config)
    app.secret_key = os.urandom(24)
    app.permanent_session_lifetime = timedelta(minutes=5)

    cors_config = dict(global_config['rest_api']['cors'])
    enabled = cors_config.pop('enabled', False)
    if enabled:
        CORS(app, **cors_config)

    load_resources(global_config)
    api.init_app(app)

    auth_verifier.set_config(global_config['auth'])
Пример #12
0
    def __init__(self, config):
        self.config = config
        self.content_parser = mooltiparse_parser()

        self.app = Flask('xivo_confd')
        http_helpers.add_logger(self.app, logger)
        self.app.wsgi_app = ProxyFix(self.app.wsgi_app)
        self.app.secret_key = os.urandom(24)
        self.app.config['auth'] = config['auth']
        self.auth = ConfdAuth()

        self.load_cors()

        if config['debug']:
            logger.info("Debug mode enabled.")
            self.app.debug = True

        plugin_manager.load_plugins(self)

        @self.app.before_request
        def log_requests():
            url = request.url.encode('utf8')
            url = urllib.unquote(url)
            params = {
                'method': request.method,
                'url': url,
            }
            if request.data:
                params.update({'data': request.data})
                logger.info("%(method)s %(url)s with data %(data)s ", params)
            else:
                logger.info("%(method)s %(url)s", params)

        @self.app.after_request
        def per_request_callbacks(response):
            for func in getattr(g, 'call_after_request', ()):
                response = func(response)
            return http_helpers.log_request(response)

        @self.app.errorhandler(Exception)
        def error_handler(error):
            return handle_error(error)
Пример #13
0
    def __init__(self, global_config):
        self.config = global_config['rest_api']
        self.app = Flask('wazo_dird', template_folder=TEMPLATE_FOLDER)
        self.babel = Babel(self.app)
        self.app.config['BABEL_DEFAULT_LOCALE'] = 'en'
        self.app.config['auth'] = global_config['auth']
        AuthResource.auth_config = global_config['auth']

        @self.babel.localeselector
        def get_locale():
            translations = [
                str(translation)
                for translation in self.babel.list_translations()
            ]
            return request.accept_languages.best_match(translations)

        http_helpers.add_logger(self.app, logger)
        self.app.after_request(http_helpers.log_request)
        self.app.secret_key = os.urandom(24)
        self.app.permanent_session_lifetime = timedelta(minutes=5)
        self.load_cors()
        self.api = api
        auth_verifier.set_config(global_config['auth'])
Пример #14
0
def new_app(config, *args, **kwargs):
    cors_config = config['rest_api']['cors']
    auth_verifier.set_config(config['auth'])
    app = Flask('wazo_plugind')
    add_logger(app, logger)
    app.config.update(config)
    app.after_request(http_helpers.log_request)

    APIv02 = PlugindAPI(app,
                        config,
                        prefix='/0.2',
                        *args,
                        endpoint_prefix='v02',
                        **kwargs)
    MultiAPI(APIv02).add_resource(Swagger)
    MultiAPI(APIv02).add_resource(Config)
    MultiAPI(APIv02).add_resource(Market)
    MultiAPI(APIv02).add_resource(MarketItem)
    MultiAPI(APIv02).add_resource(PluginsItem)
    MultiAPI(APIv02).add_resource(Plugins)

    if cors_config.pop('enabled', False):
        CORS(app, **cors_config)
    return app