i tried, the box wont listen (attempt to workaround http/1.0 issue)

This commit is contained in:
zefie
2022-10-22 20:05:50 -04:00
parent de33d39a93
commit 0bb95df5dc
2 changed files with 25 additions and 10 deletions

View File

@@ -825,12 +825,22 @@ minisrv-no-mail-count: true`;
var urlToPath = wtvshared.fixPathSlashes(service_name + path.sep + shortURL);
processPath(socket, urlToPath, request_headers, service_name, shared_romcache, pc_services);
} else {
// error reading headers (no request_url provided)
var errpage = wtvshared.doErrorPage(400);
headers = errpage[0];
data = errpage[1]
socket_sessions[socket.id].close_me = true;
sendToClient(socket, headers, data);
debug('request_headers', request_headers);
if (request_headers.request.indexOf("HTTP/1.0") > 0) {
// webtv in HTTP/1.0 mode, try to kick it back to WTVP
var errpage = wtvshared.doErrorPage(500, null, null, false, true);
headers = errpage[0];
data = ''
socket_sessions[socket.id].close_me = true;
sendToClient(socket, headers, data);
} else {
// error reading headers (no request_url provided)
var errpage = wtvshared.doErrorPage(400, null, null, false, true);
headers = errpage[0];
data = ''
socket_sessions[socket.id].close_me = true;
sendToClient(socket, headers, data);
}
}
}
}

View File

@@ -81,10 +81,10 @@ class WTVShared {
});
return out;
} else {
if (!minisrv_config.services[service]) {
if (!this.minisrv_config.services[service]) {
throw ("SERVICE ERROR: Attempted to provision unconfigured service: " + service)
} else {
return minisrv_config.services[service].toString(overrides);
return this.minisrv_config.services[service].toString(overrides);
}
}
}
@@ -684,7 +684,7 @@ class WTVShared {
});
}
doErrorPage(code, data = null, details = null, pc_mode = false) {
doErrorPage(code, data = null, details = null, pc_mode = false, wtv_reset = false) {
var headers = null;
var minisrv_config = this.minisrv_config;
switch (code) {
@@ -720,7 +720,12 @@ class WTVShared {
headers += "Content-Type: text/html\n";
break;
}
console.error(" * doErrorPage Called:", code, data);
if (wtv_reset && !pc_mode) {
headers += "wtv-service: reset\n";
headers += this.getServiceString('wtv-1800') + "\n";
headers += "wtv-visit: wtv-1800:/preregister?scriptless-visit-reason=999\n";
console.error(" * doErrorPage Called (sent wtv-reset):", code, data);
} else console.error(" * doErrorPage Called:", code, data);
return new Array(headers, data);
}