From b2a8e0678d95969feab2118cc2467bbffde5f94b Mon Sep 17 00:00:00 2001 From: Tom Kralidis Date: Wed, 24 Jul 2024 18:26:00 -0400 Subject: [PATCH] safeguard OpenAPI detection on startup (#1650) (#1758) --- pygeoapi/openapi.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pygeoapi/openapi.py b/pygeoapi/openapi.py index 274e19d..3cf5c0b 100644 --- a/pygeoapi/openapi.py +++ b/pygeoapi/openapi.py @@ -903,6 +903,17 @@ def load_openapi_document() -> dict: pygeoapi_openapi = os.environ.get('PYGEOAPI_OPENAPI') + if pygeoapi_openapi is None: + msg = 'PYGEOAPI_OPENAPI environment not set' + LOGGER.error(msg) + raise RuntimeError(msg) + + if not os.path.exists(pygeoapi_openapi): + msg = (f'OpenAPI document {pygeoapi_openapi} does not exist. ' + 'Please generate before starting pygeoapi') + LOGGER.error(msg) + raise RuntimeError(msg) + with open(pygeoapi_openapi, encoding='utf8') as ff: if pygeoapi_openapi.endswith(('.yaml', '.yml')): openapi_ = yaml_load(ff)