From 41b4deb831b040c279421b00a51998935a834120 Mon Sep 17 00:00:00 2001 From: zefie Date: Mon, 26 Jul 2021 06:12:53 -0400 Subject: [PATCH] update: add 'hasCap(flag)' function to WTVClientSessionData for easier client-capabilities checking (see wtv-home/home.js for an example) --- .../ServiceVault/wtv-home/home.js | 22 ++++++++++++++----- zefie_wtvp_minisrv/WTVClientSessionData.js | 8 +++++++ zefie_wtvp_minisrv/app.js | 2 +- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-home/home.js b/zefie_wtvp_minisrv/ServiceVault/wtv-home/home.js index 0b59c112..ca99e836 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-home/home.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-home/home.js @@ -11,7 +11,7 @@ if (ssid_sessions[socket.ssid].get('box-does-psuedo-encryption')) { } -data =` +data = ` Home for minisrv @@ -29,12 +29,22 @@ function go() {
"; diff --git a/zefie_wtvp_minisrv/WTVClientSessionData.js b/zefie_wtvp_minisrv/WTVClientSessionData.js index 7bec66c7..ba07e2ca 100644 --- a/zefie_wtvp_minisrv/WTVClientSessionData.js +++ b/zefie_wtvp_minisrv/WTVClientSessionData.js @@ -9,11 +9,19 @@ class WTVClientSessionData { \***********************************/ data_store = null; + capabilities = null; constructor() { this.data_store = new Array(); } + hasCap(cap) { + if (this.capabilities) { + return this.capabilities[cap] || false; + } + return false; + } + get(key = null) { if (typeof (this.data_store) === 'undefined') return null; else if (key === null) return this.data_store; diff --git a/zefie_wtvp_minisrv/app.js b/zefie_wtvp_minisrv/app.js index 59ba842d..1cd6bccc 100644 --- a/zefie_wtvp_minisrv/app.js +++ b/zefie_wtvp_minisrv/app.js @@ -730,7 +730,7 @@ async function processRequest(socket, data_hex, skipSecure = false, encryptedReq if (!ssid_sessions[socket.ssid]) { ssid_sessions[socket.ssid] = new WTVClientSessionData(); } - if (!ssid_sessions[socket.ssid].data_store.capabilities) ssid_sessions[socket.ssid].data_store.capabilities = new WTVClientCapabilities(headers["wtv-capability-flags"]); + if (!ssid_sessions[socket.ssid].capabilities) ssid_sessions[socket.ssid].capabilities = new WTVClientCapabilities(headers["wtv-capability-flags"]); }