From 0b49fdbde11ec03c0347019b42d4b0d6127ab6c6 Mon Sep 17 00:00:00 2001 From: Sartxi Date: Wed, 5 Jun 2024 14:09:12 -0600 Subject: [PATCH] try catch in fetch to validate hostnames --- libs/blocks/locui/loc/index.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libs/blocks/locui/loc/index.js b/libs/blocks/locui/loc/index.js index 4c7c8a0fd7..ee69db7017 100644 --- a/libs/blocks/locui/loc/index.js +++ b/libs/blocks/locui/loc/index.js @@ -23,11 +23,20 @@ const urlParams = new URLSearchParams(window.location.search); let resourcePath; let previewPath; +async function validateUrl(url) { + try { + const request = await fetch(url.href); + return request; + } catch (error) { + return { ok: false, url: url.href }; + } +} + async function validatedUrls(projectUrls) { const validateUrls = [...projectUrls]; while (validateUrls.length) { try { - const reqs = await Promise.all(validateUrls.splice(0, 49).map((url) => fetch(url.href))); + const reqs = await Promise.all(validateUrls.splice(0, 49).map(validateUrl)); setStatus('details', 'info', 'Validating Project URLs'); for (const res of reqs) { const projectUrl = projectUrls.find((url) => url.href === res.url);