This repository has been archived on 2025-04-28. You can view files and clone it, but cannot push or open issues or pull requests.
gensec-westgate-djw2/hw4/test/min/test-minified-formatted.js
2024-05-09 22:14:42 -07:00

55 lines
1.6 KiB
JavaScript

var http = require("http"),
readline = require("readline");
const {
config: e
} = require("./config"), {
check_whitelist: t
} = require("./utils"), {
serve_resource: r
} = require("./utils"), {
registerUser: s
} = require("./controller"), {
loginUser: n
} = require("./controller"), {
listMonitors: i
} = require("./controller"), {
newMonitor: o
} = require("./controller"), {
deleteMonitors: l
} = require("./controller"), {
scheduler: a
} = require("./scheduler"), rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
function server_listener(e, a) {
var c = {
stop: !1,
country: "N/A",
ip: e.socket.remoteAddress
};
if (t(c), c.stop) a.end("Acess Denied");
else {
var d = new URL(e.url, `http://${e.headers.host}`),
h = d.pathname,
p = new URLSearchParams(d.searchParams);
if (h.startsWith("/api")) switch (e.socket.parser.incoming.method) {
case "GET":
h.endsWith("/list") ? i(e, a) : h.endsWith("/logout") && logoutUser(e, a);
break;
case "POST":
h.endsWith("/register") ? s(e, a) : h.endsWith("/login") ? n(e, a) : h.endsWith("/newMonitor") && o(e, a);
break;
case "PUT":
break;
case "DELETE":
h.endsWith("/delete") && l(e, a, JSON.parse("[" + p.getAll("id") + "]"))
} else r(e, a, c)
}
}
a();
var server = http.createServer(server_listener);
server.listen(e.node_port), rl.question("Server running (Enter to stop)\n", e => {
server.close(), process.exit(1)
});