mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-09-11 19:17:17 +03:00
catch special async timeout error in servers
In Python <= 3.10 this is not yet the same as TimeoutError. Fixes #3303.
This commit is contained in:
parent
7321e66d08
commit
b3a2b3d484
@ -10,6 +10,7 @@ Server implementation using the falcon webserver framework.
|
||||
from typing import Optional, Mapping, cast, Any, List
|
||||
from pathlib import Path
|
||||
import datetime as dt
|
||||
import asyncio
|
||||
|
||||
from falcon.asgi import App, Request, Response
|
||||
|
||||
@ -164,6 +165,8 @@ def get_application(project_dir: Path,
|
||||
middleware=middleware)
|
||||
app.add_error_handler(HTTPNominatimError, nominatim_error_handler)
|
||||
app.add_error_handler(TimeoutError, timeout_error_handler)
|
||||
# different from TimeoutError in Python <= 3.10
|
||||
app.add_error_handler(asyncio.TimeoutError, timeout_error_handler)
|
||||
|
||||
legacy_urls = api.config.get_bool('SERVE_LEGACY_URLS')
|
||||
for name, func in api_impl.ROUTES:
|
||||
|
@ -10,6 +10,7 @@ Server implementation using the starlette webserver framework.
|
||||
from typing import Any, Optional, Mapping, Callable, cast, Coroutine, Dict, Awaitable
|
||||
from pathlib import Path
|
||||
import datetime as dt
|
||||
import asyncio
|
||||
|
||||
from starlette.applications import Starlette
|
||||
from starlette.routing import Route
|
||||
@ -144,7 +145,8 @@ def get_application(project_dir: Path,
|
||||
middleware.append(Middleware(FileLoggingMiddleware, file_name=log_file))
|
||||
|
||||
exceptions: Dict[Any, Callable[[Request, Exception], Awaitable[Response]]] = {
|
||||
TimeoutError: timeout_error
|
||||
TimeoutError: timeout_error,
|
||||
asyncio.TimeoutError: timeout_error
|
||||
}
|
||||
|
||||
async def _shutdown() -> None:
|
||||
|
Loading…
Reference in New Issue
Block a user