diff --git a/electron/main.cjs b/electron/main.cjs index ceea3841..44eabe4b 100644 --- a/electron/main.cjs +++ b/electron/main.cjs @@ -290,63 +290,58 @@ ipcMain.handle("save-server-config", (event, config) => { ipcMain.handle("test-server-connection", async (event, serverUrl) => { try { - let fetch; - try { - fetch = globalThis.fetch || require("node-fetch"); - } catch (e) { - const https = require("https"); - const http = require("http"); - const { URL } = require("url"); + const https = require("https"); + const http = require("http"); + const { URL } = require("url"); - fetch = (url, options = {}) => { - return new Promise((resolve, reject) => { - const urlObj = new URL(url); - const isHttps = urlObj.protocol === "https:"; - const client = isHttps ? https : http; + const fetch = (url, options = {}) => { + return new Promise((resolve, reject) => { + const urlObj = new URL(url); + const isHttps = urlObj.protocol === "https:"; + const client = isHttps ? https : http; - const requestOptions = { - method: options.method || "GET", - headers: options.headers || {}, - timeout: options.timeout || 10000, - }; + const requestOptions = { + method: options.method || "GET", + headers: options.headers || {}, + timeout: options.timeout || 10000, + }; - if (isHttps) { - requestOptions.rejectUnauthorized = false; - requestOptions.agent = new https.Agent({ - rejectUnauthorized: false, - secureProtocol: 'TLSv1_2_method', - checkServerIdentity: () => undefined, - ciphers: 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH', - honorCipherOrder: true, - }); - } + if (isHttps) { + requestOptions.rejectUnauthorized = false; + requestOptions.agent = new https.Agent({ + rejectUnauthorized: false, + secureProtocol: 'TLSv1_2_method', + checkServerIdentity: () => undefined, + ciphers: 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH', + honorCipherOrder: true, + }); + } - const req = client.request(url, requestOptions, (res) => { - let data = ""; - res.on("data", (chunk) => (data += chunk)); - res.on("end", () => { - resolve({ - ok: res.statusCode >= 200 && res.statusCode < 300, - status: res.statusCode, - text: () => Promise.resolve(data), - json: () => Promise.resolve(JSON.parse(data)), - }); + const req = client.request(url, requestOptions, (res) => { + let data = ""; + res.on("data", (chunk) => (data += chunk)); + res.on("end", () => { + resolve({ + ok: res.statusCode >= 200 && res.statusCode < 300, + status: res.statusCode, + text: () => Promise.resolve(data), + json: () => Promise.resolve(JSON.parse(data)), }); }); - - req.on("error", reject); - req.on("timeout", () => { - req.destroy(); - reject(new Error("Request timeout")); - }); - - if (options.body) { - req.write(options.body); - } - req.end(); }); - }; - } + + req.on("error", reject); + req.on("timeout", () => { + req.destroy(); + reject(new Error("Request timeout")); + }); + + if (options.body) { + req.write(options.body); + } + req.end(); + }); + }; const normalizedServerUrl = serverUrl.replace(/\/$/, "");