From 2ad0d7805afc6104291be07ac70c69f53a5943b8 Mon Sep 17 00:00:00 2001 From: PoleTransformer Date: Mon, 24 Feb 2025 16:06:53 -0800 Subject: [PATCH] merge wsurl with url --- .../2025-02-15-2312-add-wstest.js | 4 +--- server/model/monitor.js | 1 - server/monitor-types/websocket-upgrade.js | 2 +- server/server.js | 1 - src/pages/EditMonitor.vue | 18 +++++------------- test/backend-test/test-websocket.js | 10 +++++----- 6 files changed, 12 insertions(+), 24 deletions(-) diff --git a/db/knex_migrations/2025-02-15-2312-add-wstest.js b/db/knex_migrations/2025-02-15-2312-add-wstest.js index 966cff13c..c2b640f3e 100644 --- a/db/knex_migrations/2025-02-15-2312-add-wstest.js +++ b/db/knex_migrations/2025-02-15-2312-add-wstest.js @@ -1,15 +1,13 @@ -// Add websocket URL +// Add websocket ignore headers exports.up = function (knex) { return knex.schema .alterTable("monitor", function (table) { - table.text("wsurl"); table.boolean("ws_ignore_headers").notNullable().defaultTo(false); }); }; exports.down = function (knex) { return knex.schema.alterTable("monitor", function (table) { - table.dropColumn("wsurl"); table.dropColumn("ws_ignore_headers"); }); }; diff --git a/server/model/monitor.js b/server/model/monitor.js index 77498fa3e..fecde2d24 100644 --- a/server/model/monitor.js +++ b/server/model/monitor.js @@ -96,7 +96,6 @@ class Monitor extends BeanModel { parent: this.parent, childrenIDs: preloadData.childrenIDs.get(this.id) || [], url: this.url, - wsurl: this.wsurl, wsIgnoreHeaders: this.getWsIgnoreHeaders(), method: this.method, hostname: this.hostname, diff --git a/server/monitor-types/websocket-upgrade.js b/server/monitor-types/websocket-upgrade.js index 9b12c1a7a..aa18ef07a 100644 --- a/server/monitor-types/websocket-upgrade.js +++ b/server/monitor-types/websocket-upgrade.js @@ -21,7 +21,7 @@ class WebSocketMonitorType extends MonitorType { */ async attemptUpgrade(monitor) { return new Promise((resolve) => { - const ws = new WebSocket(monitor.wsurl); + const ws = new WebSocket(monitor.url); ws.addEventListener("open", (event) => { // Immediately close the connection diff --git a/server/server.js b/server/server.js index 0e19b6e62..d8aa67a38 100644 --- a/server/server.js +++ b/server/server.js @@ -790,7 +790,6 @@ let needSetup = false; bean.parent = monitor.parent; bean.type = monitor.type; bean.url = monitor.url; - bean.wsurl = monitor.wsurl; bean.wsIgnoreHeaders = monitor.wsIgnoreHeaders; bean.method = monitor.method; bean.body = monitor.body; diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue index 0a418be09..c5a61f6bd 100644 --- a/src/pages/EditMonitor.vue +++ b/src/pages/EditMonitor.vue @@ -117,15 +117,9 @@ -
+
- -
- - -
- - +
@@ -1094,7 +1088,6 @@ const monitorDefaults = { name: "", parent: null, url: "https://", - wsurl: "wss://", wsIgnoreHeaders: false, method: "GET", interval: 60, @@ -1444,6 +1437,9 @@ message HealthCheckResponse { }, "monitor.type"(newType, oldType) { + if (oldType && this.monitor.type === "websocket-upgrade") { + this.monitor.url = "wss://"; + } if (this.monitor.type === "push") { if (! this.monitor.pushToken) { // ideally this would require checking if the generated token is already used @@ -1749,10 +1745,6 @@ message HealthCheckResponse { this.monitor.url = this.monitor.url.trim(); } - if (this.monitor.wsurl) { - this.monitor.wsurl = this.monitor.wsurl.trim(); - } - let createdNewParent = false; if (this.draftGroupName && this.monitor.parent === -1) { diff --git a/test/backend-test/test-websocket.js b/test/backend-test/test-websocket.js index 4898e3c51..72bf549eb 100644 --- a/test/backend-test/test-websocket.js +++ b/test/backend-test/test-websocket.js @@ -10,7 +10,7 @@ describe("Websocket Test", { const websocketMonitor = new WebSocketMonitorType(); const monitor = { - wsurl: "wss://example.org", + url: "wss://example.org", wsIgnoreHeaders: false, }; @@ -32,7 +32,7 @@ describe("Websocket Test", { const websocketMonitor = new WebSocketMonitorType(); const monitor = { - wsurl: "wss://echo.websocket.org", + url: "wss://echo.websocket.org", wsIgnoreHeaders: false, }; @@ -56,7 +56,7 @@ describe("Websocket Test", { const wss = new WebSocketServer({ port: 8080 }); const monitor = { - wsurl: "ws://localhost:8080", + url: "ws://localhost:8080", wsIgnoreHeaders: false, }; @@ -78,7 +78,7 @@ describe("Websocket Test", { const websocketMonitor = new WebSocketMonitorType(); const monitor = { - wsurl: "wss://c.img-cdn.net/yE4s7KehTFyj/", + url: "wss://c.img-cdn.net/yE4s7KehTFyj/", wsIgnoreHeaders: false, }; @@ -100,7 +100,7 @@ describe("Websocket Test", { const websocketMonitor = new WebSocketMonitorType(); const monitor = { - wsurl: "wss://c.img-cdn.net/yE4s7KehTFyj/", + url: "wss://c.img-cdn.net/yE4s7KehTFyj/", wsIgnoreHeaders: true, };