Update proxy.js

This commit is contained in:
shamoon
2026-01-04 00:16:53 -08:00
parent f6b80550f0
commit b55aeba8e2

View File

@@ -19,24 +19,24 @@ function buildWebsocketUrl(baseUrl) {
return url.toString(); return url.toString();
} }
function waitForEvent(ws, matcher, { event = "message", parseJson = true, timeoutMs = 10000 } = {}) { function waitForEvent(ws, handler, { event = "message", parseJson = true } = {}) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const timeout = setTimeout(() => { const timeout = setTimeout(() => {
cleanup(); cleanup();
reject(new Error("TrueNAS websocket wait timed out")); reject(new Error("TrueNAS websocket wait timed out"));
}, timeoutMs); }, 10000);
const handleEvent = (payload) => { const handleEvent = (payload) => {
try { try {
const parsed = parseJson ? JSON.parse(payload.toString()) : payload; const parsed = parseJson ? JSON.parse(payload.toString()) : payload;
if (parseJson) logger.info("Received TrueNAS websocket message: %o", parsed); if (parseJson) logger.info("Received TrueNAS websocket message: %o", parsed);
const matchResult = matcher(parsed); const handlerResult = handler(parsed);
if (matchResult !== undefined) { if (handlerResult !== undefined) {
cleanup(); cleanup();
if (matchResult instanceof Error) { if (handlerResult instanceof Error) {
reject(matchResult); reject(handlerResult);
} else { } else {
resolve(matchResult); resolve(handlerResult);
} }
} }
} catch (err) { } catch (err) {