mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
275e3943f7
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.
32 lines
811 B
Python
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
|