Files
revng-revng/python/revng/daemon/demo_webpage.py
Giacomo Vercesi 0ec2fdd175 revng.daemon: prevent shutdown crash
Change the behavior of `revng daemon` to avoid a crash at shutdown
caused by `rp_shutdown` not being called due to the pointer of
`rp_manager` not being freed.
2023-07-21 09:34:00 +02:00

30 lines
777 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
module_dir = Path(__file__).parent.resolve()
templates = Jinja2Templates(directory=module_dir / "templates")
def generate_demo_page(workdir: Path, debug: bool):
if debug:
async def dev_demo_page(request: Request):
return templates.TemplateResponse(
"index.html", {"request": request, "workdir": workdir}
)
return dev_demo_page
else:
async def production_demo_page(request):
return PlainTextResponse("")
return production_demo_page