From 094fcfd5e939e0d268eed0f9bfa7197e46fe5c71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Giovanni=20Borella?= Date: Thu, 21 Aug 2025 10:52:35 +0200 Subject: [PATCH] Change service URLs --- controllers/df.js | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/controllers/df.js b/controllers/df.js index 2235ce32e..6c21a398c 100644 --- a/controllers/df.js +++ b/controllers/df.js @@ -23,7 +23,36 @@ router.get('/api/dataforsyningen/*', (req, response) => { const userName = config?.df?.dataforsyningen?.username; const pwd = config?.df?.dataforsyningen?.password; const token = config?.df?.dataforsyningen?.token; - const host = 'https://api.dataforsyningen.dk'; + let host = 'https://api.dataforsyningen.dk'; + + // Due to dataforsyningen modernization, these services change their url, prefixing wms or wmts. + // lists updated: 2021-08-21 + // https://dataforsyningen.dk/news/5042 + // Live change list: https://dataforsyningen.dk/asset/PDF/Mapningstabel/dataforsyningen_api_2025.xlsx + let changedWMSServices = [ + 'orto_sommer_1999', + 'orto_sommer_2002', + 'orto_sommer_2005', + 'orto_sommer_2008', + 'orto_foraar_temp', + 'forvaltning2', + 'kommunikation', + 'orto_foraar', + 'grid' + ]; + let changedWMTSServices = [ + 'dhm_bluespot_ekstremregn' + ]; + + let serviceName = req.url.substring('/api/dataforsyningen/'.length).split('?')[0]; + console.log(serviceName) + serviceName = serviceName.replace(/^\/|\/$/g, ''); // trim leading/trailing slash + if (changedWMSServices.includes(decodeURIComponent(serviceName))) { + host += '/wms'; + } else if (changedWMTSServices.includes(decodeURIComponent(serviceName))) { + host += '/wmts'; + } + let creds = token ? `&token=${token}` : `&username=${userName}&password=${pwd}`; let requestURL = host + decodeURIComponent(req.url.substr(20)) + creds; requestURL = requestURL.replace('false', 'FALSE')