Skip to content
Snippets Groups Projects
server.py 1.15 KiB
Newer Older
  • Learn to ignore specific revisions
  • Georg Krause's avatar
    Georg Krause committed
    from . import routes
    from . import settings
    
    import sentry_sdk
    from sentry_sdk.integrations.aiohttp import AioHttpIntegration
    import environ
    
        app.router.add_get("/", routes.index)
    
        app.router.add_get("/api/domains", routes.domains)
        app.router.add_post("/api/domains", routes.domains)
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        app.router.add_get("/api/domains/stats", routes.stats)
    
        app.add_routes([web.static("/static", routes.STATIC_DIR)])
    
        app["pool"] = pool
    
    
    async def on_shutdown(app):
        if app["pool"]:
            app["pool"].close()
            await app["pool"].wait_closed()
    
    
    
    def initialize_sentry():
        dsn = environ.Env()("FUNKWHALE_NETWORK_DSN", default=None)
        if dsn == None:
            print("Sentry is not configured, skipping")
            return
        sentry_sdk.init(
            dsn="",
            integrations=[
                AioHttpIntegration(),
            ],
            traces_sample_rate=1.0,
        )
    
    
    
    Eliot Berriot's avatar
    Eliot Berriot committed
    def start(port=None):
    
        app = web.Application(middlewares=settings.MIDDLEWARES)
        prepare_app(app, None)
        app.on_shutdown.append(on_shutdown)
    
        initialize_sentry()
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        web.run_app(app, port=port)