from falcon.asgi import App, Request, Response
-from nominatim_core.config import Configuration
+from ...config import Configuration
from ...core import NominatimAPIAsync
from ... import v1 as api_impl
+from ...result_formatting import FormatDispatcher
+from ...v1.format import dispatch as formatting
from ... import logging as loglib
+from ..asgi_adaptor import ASGIAdaptor, EndpointFunc
class HTTPNominatimError(Exception):
""" A special exception class for errors raised during processing.
resp.content_type = 'text/plain; charset=utf-8'
-class ParamWrapper(api_impl.ASGIAdaptor):
+class ParamWrapper(ASGIAdaptor):
""" Adaptor class for server glue to Falcon framework.
"""
- def __init__(self, req: Request, resp: Response,
- config: Configuration) -> None:
+ def __init__(self, req: Request, resp: Response, config: Configuration) -> None:
self.request = req
self.response = resp
self._config = config
def config(self) -> Configuration:
return self._config
+ def formatting(self) -> FormatDispatcher:
+ return formatting
+
class EndpointWrapper:
""" Converter for server glue endpoint functions to Falcon request handlers.
"""
- def __init__(self, name: str, func: api_impl.EndpointFunc, api: NominatimAPIAsync) -> None:
+ def __init__(self, name: str, func: EndpointFunc, api: NominatimAPIAsync) -> None:
self.name = name
self.func = func
self.api = api