breaking change: doErrorPage moved to wtvshared.doErrorPage

- but I fixed flashrom error handling..
- added a passthrough for old scripts
This commit is contained in:
zefie
2021-08-16 08:01:45 -04:00
parent 1967c076a9
commit fdd2f16f3b
22 changed files with 96 additions and 113 deletions

View File

@@ -8,43 +8,20 @@ class WTVFlashrom {
no_debug = false;
service_name = "";
minisrv_config = [];
wtvshared = null;
constructor(minisrv_config, service_vaults, service_name, use_zefie_server = true, bf0app_update = false, no_debug = false) {
var { WTVShared } = require('./WTVShared.js');
this.service_vaults = service_vaults;
this.service_name = service_name;
this.use_zefie_server = use_zefie_server;
this.bf0app_update = bf0app_update;
this.no_debug = no_debug;
this.minisrv_config = minisrv_config;
this.wtvshared = new WTVShared(minisrv_config);
}
doErrorPage(code, data = null) {
var headers = null;
switch (code) {
case 404:
if (data === null) data = "The service could not find the requested page.";
headers = "404 " + data + "\r\n";
headers += "Content-Type: text/html\r\n";
break;
case 400:
if (data === null) data = "HackTV ran into a technical problem.";
headers = "400 " + data + "\r\n";
headers += "Content-Type: text/html\r\n";
break;
default:
// what we send when we did not detect a wtv-url.
// e.g. when a pc browser connects
headers = "HTTP/1.1 200 OK\r\n";
headers += "Content-Type: text/html\r\n";
break;
}
console.error("doErrorPage Called:", code, data);
return new Array(headers, data);
}
async doLocalFlashROM(flashrom_file_path, request_path, callback, info_only = false) {
// use local flashrom files;
console.log(info_only);
@@ -52,7 +29,7 @@ class WTVFlashrom {
try {
this.fs.readFile(flashrom_file_path, null, function (err, data) {
if (err) {
errpage = doErrorPage(400)
errpage = wtvshared.doErrorPage(400)
var headers = errpage[0];
data = err.toString();
callback(data, headers);
@@ -65,7 +42,7 @@ class WTVFlashrom {
}
});
} catch (e) {
var errpage = doErrorPage(404, "The service could not find the requested ROM.")
var errpage = wtvshared.doErrorPage(404, "The service could not find the requested ROM.")
var headers = errpage[0];
var data = errpage[1];
callback(data, headers);
@@ -193,15 +170,16 @@ class WTVFlashrom {
} else if (res.statusCode == 206) {
var data = self.getFlashromInfo(Buffer.from(data_hex, 'hex'), request_path);
} else if (res.statusCode == 404) {
var errpage = doErrorPage(404, "The service could not find the requested ROM on zefie's server.")
console.log(request_path);
var errpage = self.wtvshared.doErrorPage(404, "The service could not find the requested ROM on zefie's server.")
headers = errpage[0];
var data = errpage[1];
} else {
var errpage = doErrorPage(400)
var errpage = self.wtvshared.doErrorPage(400)
headers = errpage[0];
var data = errpage[1];
}
if (res.statusCode != 206) {
if (!headers) {
self.sendToClient(data, request_path, callback);
} else {
callback(data, headers);