diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/img/catchall.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/img/catchall.js index 1b17ab9a..d0e2f5d1 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/img/catchall.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/img/catchall.js @@ -1,12 +1,14 @@ minisrv_service_file = true; request_is_async = true; -const proxyUrl = minisrv_config.services['wtv-proxy'].wrp_url; +const proxyUrl = minisrv_config.services[service_name].wrp_url; if (!proxyUrl.endsWith('/')) { proxyUrl += '/'; } -// Remove 'wtv-proxy:/' from the start of request_url -let forwardPath = request_headers.request_url.replace(/^wtv-proxy:\//, ''); + +// Remove 'service_name:/' from the start of request_url +let forwardPath = request_headers.request_url + .replace(new RegExp(`^${service_name}:\\/`), ''); // Build the full URL to forward to const targetUrl = proxyUrl + forwardPath; @@ -21,7 +23,6 @@ lib.get(targetUrl, (res) => { if (res.headers['content-type']) { headers += `Content-Type: ${res.headers['content-type']}\n`; } - // Optionally copy other headers as needed let data = []; res.on('data', chunk => data.push(chunk)); @@ -29,5 +30,6 @@ lib.get(targetUrl, (res) => { sendToClient(socket, headers, Buffer.concat(data)); }); }).on('error', err => { - sendToClient(socket, '200 OK\nContent-Type: text/plain', `Error fetching image: ${err.message}`); + var errpage = WTVShared.doErrorPage(400, 'Error fetching image', err.message); + sendToClient(socket, errpage[0], errpage[1]); }); \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/map/catchall.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/map/catchall.js index 59396b71..ba40ed1c 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/map/catchall.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/map/catchall.js @@ -1,12 +1,14 @@ minisrv_service_file = true; request_is_async = true; -const proxyUrl = minisrv_config.services['wtv-proxy'].wrp_url; +const proxyUrl = minisrv_config.services[service_name].wrp_url; if (!proxyUrl.endsWith('/')) { proxyUrl += '/'; } -// Remove 'wtv-proxy:/' from the start of request_url -let forwardPath = request_headers.request_url.replace(/^wtv-proxy:\//, ''); + +// Remove 'service_name:/' from the start of request_url +let forwardPath = request_headers.request_url + .replace(new RegExp(`^${service_name}:\\/`), ''); // Build the full URL to forward to var targetUrl = proxyUrl + forwardPath; @@ -20,7 +22,6 @@ if (!coords) { coords = '0,0' } -console.log(`Forwarding request to ${targetUrl} with coordinates ${coords}`); targetUrl += `?${coords}`; // Append coordinates to the target URL lib.get(targetUrl, (res) => { @@ -29,7 +30,6 @@ lib.get(targetUrl, (res) => { if (res.headers['content-type']) { headers += `Content-Type: ${res.headers['content-type']}\n`; } - // Optionally copy other headers as needed let data = ''; res.on('data', chunk => data += chunk); @@ -54,12 +54,12 @@ lib.get(targetUrl, (res) => { if (urlInputMatch) { pageUrl = urlInputMatch[1]; } - var redirectUrl = `wtv-proxy:/proxy?id=${proxy_id}&t=${imgExt}&url=${encodeURIComponent(pageUrl)}`; + var redirectUrl = `${service_name}:/proxy?id=${proxy_id}&t=${imgExt}&url=${encodeURIComponent(pageUrl)}`; sendToClient(socket, {'Status': 302, 'Location': redirectUrl}, ''); } else { var idx = data.indexOf('
'); data = data.substring(0, idx); - var redirectUrl = `wtv-proxy:/proxy?err=${escape(data)}`; + var redirectUrl = `${service_name}:/proxy?err=${escape(data)}`; sendToClient(socket, {'Status': 302, 'Location': redirectUrl}, ''); } }); diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/proxy.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/proxy.js index 21c31d50..005a91db 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/proxy.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-proxy/proxy.js @@ -5,7 +5,7 @@ proxyUrl = minisrv_config.services[service_name].wrp_url; if (!proxyUrl) { headers = `200 OK Content-Type: text/html -wtv-expire-all: wtv-proxy:/`; +wtv-expire-all: ${service_name}:/`; data = ` @@ -26,7 +26,7 @@ wtv-expire-all: wtv-proxy:/`; if (!request_headers.query.url) { headers = `200 OK Content-Type: text/html -wtv-expire-all: wtv-proxy:/`; +wtv-expire-all: ${service_name}:/`; data = ` @@ -80,7 +80,7 @@ wtv-expire-all: wtv-proxy:/`; if (params.get('Fn') === 'Home') { headers = `302 Moved -Location: wtv-proxy:/proxy` +Location: ${service_name}:/proxy` data = ''; sendToClient(socket, headers, data); } else { @@ -155,7 +155,7 @@ function process(content) { function finishPage(content, url = null) { headers = `200 OK Content-Type: text/html -wtv-expire-all: wtv-proxy:/`; +wtv-expire-all: ${service_name}:/`; data = ` @@ -163,7 +163,7 @@ wtv-expire-all: wtv-proxy:/`; -
+ diff --git a/zefie_wtvp_minisrv/includes/classes/WTVFTP.js b/zefie_wtvp_minisrv/includes/classes/WTVFTP.js index c1d45dac..baf2bfa9 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVFTP.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVFTP.js @@ -74,7 +74,7 @@ class WTVFTP { chunks.push(chunk); totalsize += chunk.length; if (totalsize > 1024 * 1024 * 4) { - this.sendToClient(socket, { 'Status': '413 The file chosen contains too much information to be used.', 'Content-Type': 'text/plain' }, 'File too large'); + this.sendToClient(socket, { 'Status': '413 The item chosen contains too much information to be used.', 'Content-Type': 'text/plain' }, 'Item too large'); ftpClient.end(); return; } diff --git a/zefie_wtvp_minisrv/includes/classes/WTVFavorites.js b/zefie_wtvp_minisrv/includes/classes/WTVFavorites.js index 4a3c5f9b..e179b7a7 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVFavorites.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVFavorites.js @@ -331,50 +331,47 @@ class WTVFavorites { keydata = this.fs.readFileSync(favoritefileout) console.log(newkey) switch(newkey) { - case "F1": - keydata.F1.folder = folder; - break - case "F2": - keydata.F2 = { - folder: folder, - id: id + case "F1": + keydata.F1.folder = folder; + break + case "F2": + keydata.F2 = { + folder: folder, + id: id + } + break; + case "F3": + keydata.F3 = { + folder: folder, + id: id + } + break; + case "F4": + keydata.F4 = { + folder: folder, + id: id + } + break; + case "F5": + keydata.F5 = { + folder: folder, + id: id + } + break; + case "F6": + keydata.F6 = { + folder: folder, + id: id + } + break; + case "F7": + keydata.F7 = { + folder: folder, + id: id + } + break; } - break; - case "F3": - keydata.F3 = { - folder: folder, - id: id - } - break; - case "F4": - keydata.F4 = { - folder: folder, - id: id - } - break; - case "F5": - keydata.F5 = { - folder: folder, - id: id - } - break; - case "F6": - keydata.F6 = { - folder: folder, - id: id - } - break; - case "F7": - keydata.F7 = { - folder: folder, - id: id - } - break; - } - if (oldkey == "none") - { - //no - } else { + if (oldkey != "none") { keydata[oldkey].folder = null; keydata[oldkey].id = null; }