]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/server/falcon/server.py
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / nominatim / server / falcon / server.py
index 1885330748960de27e6d56f17155c7e4dddf1889..c11cf4a845de734f1f68319990ebb6b179ca40d1 100644 (file)
@@ -10,7 +10,6 @@ Server implementation using the falcon webserver framework.
 from typing import Optional, Mapping, cast, Any
 from pathlib import Path
 
 from typing import Optional, Mapping, cast, Any
 from pathlib import Path
 
-import falcon
 from falcon.asgi import App, Request, Response
 
 from nominatim.api import NominatimAPIAsync
 from falcon.asgi import App, Request, Response
 
 from nominatim.api import NominatimAPIAsync
@@ -26,9 +25,12 @@ class HTTPNominatimError(Exception):
         self.content_type = content_type
 
 
         self.content_type = content_type
 
 
-async def nominatim_error_handler(req: Request, resp: Response,
+async def nominatim_error_handler(req: Request, resp: Response, #pylint: disable=unused-argument
                                   exception: HTTPNominatimError,
                                   _: Any) -> None:
                                   exception: HTTPNominatimError,
                                   _: Any) -> None:
+    """ Special error handler that passes message and content type as
+        per exception info.
+    """
     resp.status = exception.status
     resp.text = exception.msg
     resp.content_type = exception.content_type
     resp.status = exception.status
     resp.text = exception.msg
     resp.content_type = exception.content_type
@@ -99,3 +101,11 @@ def get_application(project_dir: Path,
             app.add_route(f"/{name}.php", endpoint)
 
     return app
             app.add_route(f"/{name}.php", endpoint)
 
     return app
+
+
+def run_wsgi() -> App:
+    """ Entry point for uvicorn.
+
+        Make sure uvicorn is run from the project directory.
+    """
+    return get_application(Path('.'))