Files
revng-revng/python/revng/daemon/demo_webpage.py
Giacomo Vercesi 275e3943f7 daemon: rework starlette startup code
Rework the startup code used to boot starlette, this allows removing the
use of all globals, moreover it allow dropping the ManagerMiddleware
class as it is no longer needed.
2023-02-07 16:54:35 +01:00

32 lines
811 B
Python

#
# This file is distributed under the MIT License. See LICENSE.md for details.
#
from pathlib import Path
from starlette.requests import Request
from starlette.responses import PlainTextResponse
from starlette.templating import Jinja2Templates
from revng.api import Manager
module_dir = Path(__file__).parent.resolve()
templates = Jinja2Templates(directory=module_dir / "templates")
def generate_demo_page(manager: Manager, debug: bool):
if debug:
async def dev_demo_page(request: Request):
return templates.TemplateResponse(
"index.html", {"request": request, "manager": manager}
)
return dev_demo_page
else:
async def production_demo_page(request):
return PlainTextResponse("")
return production_demo_page