Improve the webserver's constructor

This makes the webserver configurable during instantiation rather than
having to set the parameters afterwards.
This commit is contained in:
Tim van der Meij 2024-02-17 16:12:26 +01:00
parent 985ba77579
commit 2e6fa797d9
No known key found for this signature in database
GPG Key ID: 8C3FD2925A5F2762
3 changed files with 12 additions and 12 deletions

View File

@ -2068,8 +2068,7 @@ gulp.task(
console.log("### Starting local server");
const { WebServer } = await import("./test/webserver.mjs");
const server = new WebServer();
server.port = 8888;
const server = new WebServer({ port: 8888 });
server.start();
}
)

View File

@ -1015,11 +1015,12 @@ async function startBrowsers({ baseUrl, initializeSession }) {
}
function startServer() {
server = new WebServer();
server.host = host;
server.port = options.port;
server.root = "..";
server.cacheExpirationTime = 3600;
server = new WebServer({
root: "..",
host,
port: options.port,
cacheExpirationTime: 3600,
});
server.start();
}

View File

@ -38,13 +38,13 @@ const MIME_TYPES = {
const DEFAULT_MIME_TYPE = "application/octet-stream";
class WebServer {
constructor() {
this.root = ".";
this.host = "localhost";
this.port = 0;
constructor({ root, host, port, cacheExpirationTime }) {
this.root = root || ".";
this.host = host || "localhost";
this.port = port || 0;
this.server = null;
this.verbose = false;
this.cacheExpirationTime = 0;
this.cacheExpirationTime = cacheExpirationTime || 0;
this.disableRangeRequests = false;
this.hooks = {
GET: [crossOriginHandler],