From c41d535ce74ee7e413c2fad4e7a435418a1fad89 Mon Sep 17 00:00:00 2001 From: zefie Date: Mon, 28 Aug 2023 18:58:45 -0400 Subject: [PATCH] workaround for minibrowser flashrom download restarting --- .../ServiceVault/wtv-flashrom/get-lc2-page.js | 28 +++++++++++++------ .../wtv-flashrom/lc2-download-complete.js | 3 +- zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj | 12 ++++++++ 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-lc2-page.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-lc2-page.js index aa99a39d..c2efb76b 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-lc2-page.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-lc2-page.js @@ -6,14 +6,24 @@ if (!request_headers.query.path) { var errpage = wtvshared.doErrorPage(400); headers = errpage[0]; data = errpage[1]; -} else { - var wtvflashrom = new WTVFlashrom(minisrv_config, service_vaults, service_name, minisrv_config.services[service_name].use_zefie_server, false, (minisrv_config.services[service_name].debug ? false : true)); - var request_path = request_headers.query.path; +} else { + if (request_headers.Referer == service_name + ":/lc2-download-complete?") { + headers = `200 OK +Content-type: text/html +minisrv-no-mail-count: true +wtv-visit: ${service_name}:/lc2-download-complete? +Location: ${service_name}:/lc2-download-complete?` + data = ''; + sendToClient(socket, headers, data); + } else { + var wtvflashrom = new WTVFlashrom(minisrv_config, service_vaults, service_name, minisrv_config.services[service_name].use_zefie_server, false, (minisrv_config.services[service_name].debug ? false : true)); + var request_path = request_headers.query.path; - // read flashrom header info into array using WTVFlashrom class - wtvflashrom.getFlashromMeta(request_path, function (data, headers) { - processLC2DownloadPage(data, headers, (request_headers.query.numparts ? request_headers.query.numparts : null)); - }); + // read flashrom header info into array using WTVFlashrom class + wtvflashrom.getFlashromMeta(request_path, function (data, headers) { + processLC2DownloadPage(data, headers, (request_headers.query.numparts ? request_headers.query.numparts : null)); + }); + } } async function processLC2DownloadPage(flashrom_info, headers, numparts = null) { @@ -26,11 +36,11 @@ async function processLC2DownloadPage(flashrom_info, headers, numparts = null) { } if (numparts != null) flashrom_info.part_count = parseInt(numparts); if (!flashrom_info.part_count) flashrom_info.part_count = parseInt(flashrom_info.message.substring(flashrom_info.message.length - 4).replace(/\D/g, '')); - console.log(flashrom_info); if (parseInt(flashrom_info.part_number) >= 0 && flashrom_info.rompath && flashrom_info.next_rompath) { if (!flashrom_info.message && flashrom_info.is_bootrom) { flashrom_info.message = "BootRom Part " + (flashrom_info.part_number + 1) + " of " + flashrom_info.part_count; - } + } + if (!flashrom_info.is_last_part) { flashrom_info.next_rompath = request_headers.request_url.replace(escape(request_headers.query.path), escape(flashrom_info.next_rompath.replace(service_name+":/",""))); } diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-complete.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-complete.js index 09af9e9a..7086920e 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-complete.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-complete.js @@ -2,13 +2,14 @@ var minisrv_service_file = true; headers = `200 OK Content-type: text/html +wtv-expire-all: wtv-flashrom: minisrv-no-mail-count: true` data = ` -Updating +Updating complete diff --git a/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj b/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj index 5151edd6..d389e329 100644 --- a/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj +++ b/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj @@ -35,6 +35,7 @@ Code + @@ -416,6 +417,15 @@ + + + + + + + + + Code @@ -2573,6 +2583,8 @@ + +