diff --git a/modules/default/calendar/node_helper.js b/modules/default/calendar/node_helper.js index 5a3504e5..d544878b 100644 --- a/modules/default/calendar/node_helper.js +++ b/modules/default/calendar/node_helper.js @@ -5,7 +5,6 @@ * MIT Licensed. */ const NodeHelper = require("node_helper"); -const validUrl = require("valid-url"); const CalendarFetcher = require("./calendarfetcher.js"); const Log = require("logger"); @@ -38,7 +37,9 @@ module.exports = NodeHelper.create({ * @param {string} identifier ID of the module */ createFetcher: function (url, fetchInterval, excludedEvents, maximumEntries, maximumNumberOfDays, auth, broadcastPastEvents, selfSignedCert, identifier) { - if (!validUrl.isUri(url)) { + try { + new URL(url); + } catch (error) { this.sendSocketNotification("INCORRECT_URL", { id: identifier, url: url }); return; } diff --git a/modules/default/newsfeed/newsfeed.js b/modules/default/newsfeed/newsfeed.js index 71681867..a94e7269 100644 --- a/modules/default/newsfeed/newsfeed.js +++ b/modules/default/newsfeed/newsfeed.js @@ -87,6 +87,8 @@ Module.register("newsfeed", { } this.loaded = true; + } else if (notification === "INCORRECT_URL") { + Log.error("Newsfeed Error. Incorrect url: " + payload.url); } }, diff --git a/modules/default/newsfeed/node_helper.js b/modules/default/newsfeed/node_helper.js index 18984f31..8d365339 100644 --- a/modules/default/newsfeed/node_helper.js +++ b/modules/default/newsfeed/node_helper.js @@ -6,7 +6,6 @@ */ const NodeHelper = require("node_helper"); -const validUrl = require("valid-url"); const NewsfeedFetcher = require("./newsfeedfetcher.js"); const Log = require("logger"); @@ -36,8 +35,10 @@ module.exports = NodeHelper.create({ const encoding = feed.encoding || "UTF-8"; const reloadInterval = feed.reloadInterval || config.reloadInterval || 5 * 60 * 1000; - if (!validUrl.isUri(url)) { - this.sendSocketNotification("INCORRECT_URL", url); + try { + new URL(url); + } catch (error) { + this.sendSocketNotification("INCORRECT_URL", { url: url }); return; }