diff --git a/app/scripts/network-helper.js b/app/scripts/network-helper.js index 6d17630..35032b3 100644 --- a/app/scripts/network-helper.js +++ b/app/scripts/network-helper.js @@ -242,6 +242,24 @@ module.exports.isStringAValidURL = function (url) { else return false; }; +/** + * @private + * Check with Axios if a URL exists. + * @param {String} url + */ +async function _axiosUrlExists(url) { + // Local variables + let valid = false; + try { + const response = await axios.head(url); + valid = response && !/4\d\d/.test(response.status); + } catch (error) { + if (error.code === "ENOTFOUND") valid = false; + else throw error; + } + return valid; +} + /** * @protected * Check if a particular URL is valid and reachable on the web. @@ -256,8 +274,7 @@ module.exports.urlExists = async function (url, checkRedirect = false) { let valid = false; if (exports.isStringAValidURL(url)) { - const response = await axios.head(url); - valid = response && !/4\d\d/.test(response.status); + valid = await _axiosUrlExists(url); if (valid && checkRedirect) { const redirectUrl = await exports.getUrlRedirect(url);