1
0
Fork 0
firefox/browser/base/content/test/about/blank_page.sjs
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

48 lines
1.3 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
function decode(str) {
return decodeURIComponent(str.replace(/\+/g, encodeURIComponent(" ")));
}
function handleRequest(request, response) {
const queryString = request.queryString;
let params = queryString.split("&").reduce((memo, pair) => {
let [key, val] = pair.split("=");
if (!val) {
val = key;
key = "query";
}
try {
memo[decode(key)] = decode(val);
} catch (e) {
memo[key] = val;
}
return memo;
}, {});
const status = parseInt(params.status);
const message = params.message;
const header = params.header;
// Set default if missing parameters
if (!status || !message) {
response.setStatusLine(request.httpVersion, 400, "Bad Request");
response.setHeader("Content-Length", "0", false);
return;
}
if (header === "hide") {
response.setStatusLine(request.httpVersion, status, message);
return;
}
if (header === "lie") {
response.setStatusLine(request.httpVersion, status, message);
response.setHeader("Content-Length", "100", false);
return;
}
response.setStatusLine(request.httpVersion, status, message);
response.setHeader("Content-Length", "0", false);
}