55 lines
1.6 KiB
JavaScript
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)
|
|
}); |