#!/usr/bin/env python3 import sentry_sdk from sentry_sdk.integrations.flask import FlaskIntegration from flask import Flask from werkzeug.middleware.proxy_fix import ProxyFix # import stuff from utils import register_all_error_handlers, storage # import views from views import ObjectView from config import Config # Setup sentry if Config.SENTRY_DSN: sentry_sdk.init( dsn=Config.SENTRY_DSN, integrations=[FlaskIntegration()], _experiments={"auto_enabling_integrations": True}, traces_sample_rate=0, send_default_pii=True, release=Config.RELEASE_ID, environment=Config.RELEASEMODE ) # create flask app app = Flask(__name__) app.config.from_object(Config) app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1) # init stuff storage.init_app(app) # register error handlers register_all_error_handlers(app) # register views for view in [ObjectView]: view.register(app, trailing_slash=False) # start debugging if needed if __name__ == "__main__": app.run(debug=True)