mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-11 13:24:07 +00:00
allow to add php-compatible endpoints
If the new setting NOMINATIM_SERVE_LEGACY_URLS is set, the servers expose the endpoints also with the .php suffix to ensure backwards compatibility.
This commit is contained in:
@@ -66,7 +66,12 @@ def get_application(project_dir: Path,
|
|||||||
api = NominatimAPIAsync(project_dir, environ)
|
api = NominatimAPIAsync(project_dir, environ)
|
||||||
|
|
||||||
app = App(cors_enable=api.config.get_bool('CORS_NOACCESSCONTROL'))
|
app = App(cors_enable=api.config.get_bool('CORS_NOACCESSCONTROL'))
|
||||||
|
|
||||||
|
legacy_urls = api.config.get_bool('SERVE_LEGACY_URLS')
|
||||||
for name, func in api_impl.ROUTES:
|
for name, func in api_impl.ROUTES:
|
||||||
app.add_route('/' + name, EndpointWrapper(func, api))
|
endpoint = EndpointWrapper(func, api)
|
||||||
|
app.add_route(f"/{name}", endpoint)
|
||||||
|
if legacy_urls:
|
||||||
|
app.add_route(f"/{name}.php", endpoint)
|
||||||
|
|
||||||
return app
|
return app
|
||||||
|
|||||||
@@ -62,7 +62,11 @@ def get_application(project_dir: Path,
|
|||||||
from sanic_cors import CORS # pylint: disable=import-outside-toplevel
|
from sanic_cors import CORS # pylint: disable=import-outside-toplevel
|
||||||
CORS(app)
|
CORS(app)
|
||||||
|
|
||||||
|
legacy_urls = app.ctx.api.config.get_bool('SERVE_LEGACY_URLS')
|
||||||
for name, func in api_impl.ROUTES:
|
for name, func in api_impl.ROUTES:
|
||||||
app.add_route(_wrap_endpoint(func), f"/{name}", name=f"v1_{name}_simple")
|
endpoint = _wrap_endpoint(func)
|
||||||
|
app.add_route(endpoint, f"/{name}", name=f"v1_{name}_simple")
|
||||||
|
if legacy_urls:
|
||||||
|
app.add_route(endpoint, f"/{name}.php", name=f"v1_{name}_legacy")
|
||||||
|
|
||||||
return app
|
return app
|
||||||
|
|||||||
@@ -61,8 +61,12 @@ def get_application(project_dir: Path,
|
|||||||
config = Configuration(project_dir, environ)
|
config = Configuration(project_dir, environ)
|
||||||
|
|
||||||
routes = []
|
routes = []
|
||||||
|
legacy_urls = config.get_bool('SERVE_LEGACY_URLS')
|
||||||
for name, func in api_impl.ROUTES:
|
for name, func in api_impl.ROUTES:
|
||||||
routes.append(Route(f"/{name}", endpoint=_wrap_endpoint(func)))
|
endpoint = _wrap_endpoint(func)
|
||||||
|
routes.append(Route(f"/{name}", endpoint=endpoint))
|
||||||
|
if legacy_urls:
|
||||||
|
routes.append(Route(f"/{name}.php", endpoint=endpoint))
|
||||||
|
|
||||||
middleware = []
|
middleware = []
|
||||||
if config.get_bool('CORS_NOACCESSCONTROL'):
|
if config.get_bool('CORS_NOACCESSCONTROL'):
|
||||||
|
|||||||
@@ -204,6 +204,11 @@ NOMINATIM_LOOKUP_MAX_COUNT=50
|
|||||||
# Set to zero to disable polygon output.
|
# Set to zero to disable polygon output.
|
||||||
NOMINATIM_POLYGON_OUTPUT_MAX_TYPES=1
|
NOMINATIM_POLYGON_OUTPUT_MAX_TYPES=1
|
||||||
|
|
||||||
|
# Offer backwards compatible PHP URLs.
|
||||||
|
# When running one of the Python enignes, they will add endpoint aliases
|
||||||
|
# under <endpoint>.php
|
||||||
|
NOMINATIM_SERVE_LEGACY_URLS=yes
|
||||||
|
|
||||||
### Log settings
|
### Log settings
|
||||||
#
|
#
|
||||||
# The following options allow to enable logging of API requests.
|
# The following options allow to enable logging of API requests.
|
||||||
|
|||||||
Reference in New Issue
Block a user