X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/754ff15ebd798aad0a2b7add81ea0e6001ca8625..20d0fb35ce9d4d7c006a0e77dcf25edc2e8509b3:/src/nominatim_api/server/starlette/server.py?ds=sidebyside diff --git a/src/nominatim_api/server/starlette/server.py b/src/nominatim_api/server/starlette/server.py index 9d014920..e6c97693 100644 --- a/src/nominatim_api/server/starlette/server.py +++ b/src/nominatim_api/server/starlette/server.py @@ -7,7 +7,8 @@ """ Server implementation using the starlette webserver framework. """ -from typing import Any, Optional, Mapping, Callable, cast, Coroutine, Dict, Awaitable +from typing import Any, Optional, Mapping, Callable, cast, Coroutine, Dict, \ + Awaitable, AsyncIterator from pathlib import Path import datetime as dt import asyncio @@ -150,12 +151,12 @@ def get_application(project_dir: Path, } @contextlib.asynccontextmanager - async def lifespan(app: Starlette) -> None: + async def lifespan(app: Starlette) -> AsyncIterator[Any]: app.state.API = NominatimAPIAsync(project_dir, environ) config = app.state.API.config legacy_urls = config.get_bool('SERVE_LEGACY_URLS') - for name, func in api_impl.ROUTES: + for name, func in await api_impl.get_routes(app.state.API): endpoint = _wrap_endpoint(func) app.routes.append(Route(f"/{name}", endpoint=endpoint)) if legacy_urls: