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) });