def create_app(): """App Factory. Returns: App: Flask app object. """ sentry_sdk.init( dsn="https://[email protected]/5184010", integrations=[FlaskIntegration()]) app = Flask(__name__) jwt.init_app(app) limiter.init_app(app) app.config["JWT_SECRET_KEY"] = config.JWT_SECRET_KEY app.config["JWT_ACCESS_TOKEN_EXPIRES"] = config.JWT_ACCESS_TOKEN_EXPIRES app.register_blueprint(auth) app.register_blueprint(users) app.register_blueprint(polls) app.register_blueprint(health) app.register_blueprint(handlers) return app
def register_extensions(app): db.init_app(app) migrate = Migrate(app, db) jwt.init_app(app) configure_uploads(app, image_set) patch_request_class(app, 10 * 1024 * 1024) cache.init_app(app) limiter.init_app(app) @jwt.token_in_blacklist_loader def check_if_token_in_blacklist(decrypted_token): jti = decrypted_token['jti'] return jti in black_list @app.before_request def before_request(): print('\n==================== BEFORE REQUEST ====================\n') print(cache.cache._cache.keys()) print('\n=======================================================\n') @app.after_request def after_request(response): print('\n==================== AFTER REQUEST ====================\n') print(cache.cache._cache.keys()) print('\n=======================================================\n') return response
def register_extensions(app): db.init_app(app) migrate = Migrate(app, db) jwt.init_app(app) mail.init_app(app) cache.init_app(app) limiter.init_app(app)
def register_extensions(app): db.init_app(app) migrate = Migrate(app, db) jwt.init_app(app) configure_uploads(app, image_set) patch_request_class(app, 10 * 1024 * 1024) cache.init_app(app) limiter.init_app(app) @jwt.token_in_blocklist_loader def check_if_token_in_blacklist(jwt_header, jwt_payload): jti = jwt_payload['jti'] return jti in black_list @app.before_request def before_request(): print('\n=============BEFORE REQUEST===============\n') print(cache.cache._cache.keys()) print('\n==========================================\n') @app.after_request def after_request(response): print('\n============AFTER REQUEST=================\n') print(cache.cache._cache.keys()) print('\n==========================================\n') return response @limiter.request_filter def ip_whitelist(): return request.remote_addr == '127.0.0.1'
def init_extensions(app): db.init_app(app) db.app = app db.metadata.naming_convention = { "ix": 'ix_%(column_0_label)s', "uq": "uq_%(table_name)s_%(column_0_name)s", "ck": "ck_%(table_name)s_%(column_0_name)s", "fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s", "pk": "pk_%(table_name)s" } # set constraint naming convention to sensible default, per # http://docs.sqlalchemy.org/en/rel_0_9/core/constraints.html#configuring-constraint-naming-conventions assets.init_app(app) assets.app = app babel.init_app(app) cache.init_app(app) csrf.init_app(app) mail.init_app(app) login_manager.init_app(app) rq.init_app(app) app.rq = rq store.init_app(app) rest.init_app(app, flask_sqlalchemy_db=db, preprocessors=restless_preprocessors) rest.app = app limiter.init_app(app) for handler in app.logger.handlers: limiter.logger.addHandler(handler) if app.config.get('DEBUG'): from flask_debugtoolbar import DebugToolbarExtension DebugToolbarExtension(app) app.debug = True
def register_extensions(app): db.init_app(app) migrate = Migrate(app, db) jwt.init_app(app) configure_uploads(app, image_set) patch_request_class(app, 10 * 1024 * 1024) cache.init_app(app) limiter.init_app(app) @jwt.token_in_blacklist_loader def check_if_token_in_black(decrypted_token): jti = decrypted_token['jti'] return jti in black_list
def init_extensions(app): db.init_app(app) db.app = app db.metadata.naming_convention = { "ix": 'ix_%(column_0_label)s', "uq": "uq_%(table_name)s_%(column_0_name)s", "ck": "ck_%(table_name)s_%(column_0_name)s", "fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s", "pk": "pk_%(table_name)s" } # set constraint naming convention to sensible default, per # http://docs.sqlalchemy.org/en/rel_0_9/core/constraints.html#configuring-constraint-naming-conventions assets.init_app(app) assets.app = app babel.init_app(app) cache.init_app(app) csrf.init_app(app) mail.init_app(app) login_manager.init_app(app) rq.init_app(app) app.rq = rq store.init_app(app) rest.init_app(app, flask_sqlalchemy_db=db, preprocessors=restless_preprocessors) rest.app = app limiter.init_app(app) for handler in app.logger.handlers: limiter.logger.addHandler(handler) # stable list of admin phone numbers, cached in memory to avoid db hit for each call # disable in testing if app.config.get('TESTING', False): app.ADMIN_PHONES_LIST = [] else: try: app.ADMIN_PHONES_LIST = filter(bool, [ str(u.phone.national_number) if u.phone else None for u in User.query.all() ]) except sqlalchemy.exc.SQLAlchemyError: # this may throw an error when creating the database from scratch pass if app.config.get('DEBUG'): from flask_debugtoolbar import DebugToolbarExtension DebugToolbarExtension(app) app.debug = True
def register_extensions(app): """function to initialize extensions""" db.app = app db.init_app(app) migrate.init_app(app, db) jwt.init_app(app) configure_uploads(app, image_set) patch_request_class(app, 10*1024*1024) cache.init_app(app) limiter.init_app(app) # check whether the token is on the blacklist @jwt.token_in_blacklist_loader def check_if_token_in_blacklist(decrypted_token): jti = decrypted_token['jti'] return jti in black_list
def register_extensions(app): db.init_app(app) migrate = Migrate(app, db) jwt.init_app(app) configure_uploads(app, image_set) patch_request_class(app, 4 * 1024 * 1024) cache.init_app(app) limiter.init_app(app) @limiter.request_filter def ip_whitelist(): return request.remote_addr == '127.0.0.1' @jwt.token_in_blacklist_loader def check_if_token_in_blacklist(decrypted_token): jti = decrypted_token['jti'] return jti in blacklist
def create_app(): application = Flask(__name__) application.config.update(settings) mail.init_app(application) mongo.init_app(application) cache.init_app(application) jwt.init_app(application) limiter.init_app(application) for bp in http_blueprints: import_module(bp.import_name) application.register_blueprint(bp) application.cli.add_command(populate_users_command) application.cli.add_command(populate_transactions_command) return application
def register_extensions(app): db.init_app(app) mail.init_app(app) limiter.init_app(app)