From 9bc42cbf4fa51a0e6ac95f3f493330587f87028f Mon Sep 17 00:00:00 2001 From: om-3004 Date: Thu, 17 Oct 2024 10:14:34 +0530 Subject: [PATCH] Add resolution check before adding PageSpeed monitors --- Client/src/Pages/PageSpeed/CreatePageSpeed/index.jsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Client/src/Pages/PageSpeed/CreatePageSpeed/index.jsx b/Client/src/Pages/PageSpeed/CreatePageSpeed/index.jsx index e855328da..802572782 100644 --- a/Client/src/Pages/PageSpeed/CreatePageSpeed/index.jsx +++ b/Client/src/Pages/PageSpeed/CreatePageSpeed/index.jsx @@ -5,6 +5,7 @@ import { monitorValidation } from "../../../Validation/validation"; import { useNavigate } from "react-router-dom"; import { useTheme } from "@emotion/react"; import { createPageSpeed } from "../../../Features/PageSpeedMonitor/pageSpeedMonitorSlice"; +import { checkEndpointResolution } from "../../../Features/UptimeMonitors/uptimeMonitorsSlice" import { createToast } from "../../../Utils/toastUtils"; import { logger } from "../../../Utils/Logger"; import { ConfigBox } from "../../Monitors/styled"; @@ -111,6 +112,15 @@ const CreatePageSpeed = () => { setErrors(newErrors); createToast({ body: "Error validation data." }); } else { + const checkEndpointAction = await dispatch( + checkEndpointResolution({ authToken, monitorURL: form.url }) + ) + if (checkEndpointAction.meta.requestStatus === "rejected") { + createToast({ body: "The endpoint you entered doesn't resolve. Check the URL again." }); + setErrors({ url: "The entered URL is not reachable." }); + return; + } + form = { ...form, description: form.name,