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/obsfu/test-obsfu-formatted.js
2024-05-09 22:37:20 -07:00

93 lines
2.9 KiB
JavaScript

var http = require('http');
var readline = require('readline');
const {
config
} = require('./config');
const {
check_whitelist
} = require('./utils');
const {
serve_resource
} = require('./utils');
const {
registerUser
} = require('./controller');
const {
loginUser
} = require('./controller');
const {
listMonitors
} = require('./controller');
const {
newMonitor
} = require('./controller');
const {
deleteMonitors
} = require('./controller');
const {
scheduler
} = require('./scheduler');
const rl = readline["createInterface"]({
input: process["stdin"],
output: process["stdout"]
});
function server_listener(_0x27c9x4, _0x27c9x5) {
var _0x27c9x6 = _0x27c9x4["socket"]["remoteAddress"];
var _0x27c9x7 = {
'stop': false,
'country': 'N/A',
'ip': _0x27c9x6
};
check_whitelist(_0x27c9x7);
if (_0x27c9x7["stop"]) {
_0x27c9x5["end"]('Acess Denied')
} else {
var _0x27c9x8 = new URL(_0x27c9x4["url"], ("http://" + _0x27c9x4["headers"]["host"] + ""));
var _0x27c9x9 = _0x27c9x8["pathname"];
var _0x27c9xa = new URLSearchParams(_0x27c9x8["searchParams"]);
if (_0x27c9x9["startsWith"]("/api")) {
switch (_0x27c9x4["socket"]["parser"]["incoming"]["method"]) {
case "GET":
if (_0x27c9x9["endsWith"]("/list")) {
listMonitors(_0x27c9x4, _0x27c9x5)
} else {
if (_0x27c9x9["endsWith"]("/logout")) {
logoutUser(_0x27c9x4, _0x27c9x5)
}
};
break;
case "POST":
if (_0x27c9x9["endsWith"]("/register")) {
registerUser(_0x27c9x4, _0x27c9x5)
} else {
if (_0x27c9x9["endsWith"]("/login")) {
loginUser(_0x27c9x4, _0x27c9x5)
} else {
if (_0x27c9x9["endsWith"]("/newMonitor")) {
newMonitor(_0x27c9x4, _0x27c9x5)
}
}
};
break;
case "PUT":
break;
case "DELETE":
if (_0x27c9x9["endsWith"]("/delete")) {
var _0x27c9xb = JSON["parse"]('[' + _0x27c9xa["getAll"]('id') + ']');
deleteMonitors(_0x27c9x4, _0x27c9x5, _0x27c9xb)
};
break
}
} else {
serve_resource(_0x27c9x4, _0x27c9x5, _0x27c9x7)
}
}
}
scheduler();
var server = http["createServer"](server_listener);
server["listen"](config["node_port"]);
rl["question"]("Server running (Enter to stop)\x0A", (_0x27c9xd) => {
server["close"]();
process["exit"](1)
})