def setup_app(): app = Flask(__name__) cfy_config = config.instance() app.logger_name = 'manager-rest' # setting up the app logger with a rotating file handler, in addition to # the built-in flask logger which can be helpful in debug mode. create_logger(logger_name=app.logger.name, log_level=cfy_config.rest_service_log_level, log_file=cfy_config.rest_service_log_path, log_file_size_MB=cfy_config.rest_service_log_file_size_MB, log_files_backup_count=cfy_config. rest_service_log_files_backup_count) # secure the app according to manager configuration if cfy_config.secured_server: app.logger.info('initializing rest-service security') init_secured_app(app) app.before_request(log_request) app.after_request(log_response) # saving flask's original error handlers flask_handle_exception = app.handle_exception flask_handle_user_exception = app.handle_user_exception api = Api(app) # saving flask-restful's error handlers flask_restful_handle_exception = app.handle_exception flask_restful_handle_user_exception = app.handle_user_exception # setting it so that <500 codes use flask-restful's error handlers, # while 500+ codes use original flask's error handlers (for which we # register an error handler on somewhere else in this module) def handle_exception(flask_method, flask_restful_method, e): code = getattr(e, 'code', 500) if code >= 500: return flask_method(e) else: return flask_restful_method(e) app.handle_exception = functools.partial( handle_exception, flask_handle_exception, flask_restful_handle_exception) app.handle_user_exception = functools.partial( handle_exception, flask_handle_user_exception, flask_restful_handle_user_exception) resources.setup_resources(api) return app
def setup_app(): app = Flask(__name__) # setting up the app logger with a rotating file handler, in addition to # the built-in flask logger which can be helpful in debug mode. additional_log_handlers = [ RotatingFileHandler( config.instance().rest_service_log_path, maxBytes=1024*1024*100, backupCount=20) ] app.logger_name = 'manager-rest' setup_logger(logger_name=app.logger.name, logger_level=logging.DEBUG, handlers=additional_log_handlers, remove_existing_handlers=False) app.before_request(log_request) app.after_request(log_response) # saving flask's original error handlers flask_handle_exception = app.handle_exception flask_handle_user_exception = app.handle_user_exception api = Api(app) # saving flask-restful's error handlers flask_restful_handle_exception = app.handle_exception flask_restful_handle_user_exception = app.handle_user_exception # setting it so that <500 codes use flask-restful's error handlers, # while 500+ codes use original flask's error handlers (for which we # register an error handler on somewhere else in this module) def handle_exception(flask_method, flask_restful_method, e): code = getattr(e, 'code', 500) if code >= 500: return flask_method(e) else: return flask_restful_method(e) app.handle_exception = functools.partial( handle_exception, flask_handle_exception, flask_restful_handle_exception) app.handle_user_exception = functools.partial( handle_exception, flask_handle_user_exception, flask_restful_handle_user_exception) resources.setup_resources(api) return app
def setup_app(): app = Flask(__name__) app.logger.setLevel(logging.DEBUG) app.logger.addHandler(logging.StreamHandler(sys.stdout)) # saving flask's original error handlers flask_handle_exception = app.handle_exception flask_handle_user_exception = app.handle_user_exception api = Api(app) # saving flask-restful's error handlers flask_restful_handle_exception = app.handle_exception flask_restful_handle_user_exception = app.handle_user_exception # setting it so that <500 codes use flask-restful's error handlers, # while 500+ codes use original flask's error handlers (for which we # register an error handler on somewhere else in this module) def handle_exception(flask_method, flask_restful_method, e): code = getattr(e, 'code', 500) if code >= 500: return flask_method(e) else: return flask_restful_method(e) app.handle_exception = functools.partial( handle_exception, flask_handle_exception, flask_restful_handle_exception) app.handle_user_exception = functools.partial( handle_exception, flask_handle_user_exception, flask_restful_handle_user_exception) resources.setup_resources(api) return app