move ASGIAdoptor out of v1 module

This commit is contained in:
Sarah Hoffmann
2024-08-13 21:32:11 +02:00
parent d22ca186e4
commit 4e0602919c
5 changed files with 177 additions and 163 deletions

View File

@@ -24,9 +24,10 @@ from starlette.middleware.cors import CORSMiddleware
from ...config import Configuration
from ...core import NominatimAPIAsync
from ... import v1 as api_impl
from ..asgi_adaptor import ASGIAdaptor, EndpointFunc
from ... import logging as loglib
class ParamWrapper(api_impl.ASGIAdaptor):
class ParamWrapper(ASGIAdaptor):
""" Adaptor class for server glue to Starlette framework.
"""
@@ -69,7 +70,7 @@ class ParamWrapper(api_impl.ASGIAdaptor):
return cast(Configuration, self.request.app.state.API.config)
def _wrap_endpoint(func: api_impl.EndpointFunc)\
def _wrap_endpoint(func: EndpointFunc)\
-> Callable[[Request], Coroutine[Any, Any, Response]]:
async def _callback(request: Request) -> Response:
return cast(Response, await func(request.app.state.API, ParamWrapper(request)))