Resolved issue #5

This commit is contained in:
Alex Rennie-Lis 2024-04-07 11:15:50 +01:00
parent cea5bd89ed
commit a0ba25ed2f
2 changed files with 38 additions and 24 deletions

View File

@ -87,15 +87,41 @@ listeners.accounting.socket.on ('listening', () => {
listeners.accounting.socket.bind (config.ports.radius_accounting);
// HTTP listener
const respond = (res, content, status) {
res.write (content);
res.statusCode = status;
res.end ();
};
http.createServer(function (req, res) {
var url = req.url.substring (0, req.url.lastIndexOf ("/")) || req.url;
var endpoint = req.method + " " + url;
switch (endpoint) {
case "GET /health":
res.write ('OK\n\n');
res.statusCode = 200;
res.end ();
respond (res, "OK\n\n", 200);
break;
case "GET /users":
handlers.user.getall ((users, err) => {
if (!err) {
respond (res, users, 200);
}
else {
respond (res, err, 404);
}
});
break;
case "GET /user/":
handlers.user.getone (req.url.substring (req.url.lastIndexOf ("/") + 1), (user, err) => {
if (err) {
respond (res, "Error\n\n", 500);
}
else {
respond (res, user, 200);
}
});
break;
case "POST /user":
@ -106,14 +132,10 @@ http.createServer(function (req, res) {
req.on ('end', () => {
handlers.user.create (payload, (status, err) => {
if (err) {
res.write ('Error\n');
res.statusCode = 500;
res.end ();
respond (res, "Error\n\n", 500);
}
else {
res.write (status);
res.statusCode = 200;
res.end ();
respond (res, status, 200);
}
});
});
@ -127,14 +149,10 @@ http.createServer(function (req, res) {
req.on ('end', () => {
handlers.user.update (payload, (status, err) => {
if (err) {
res.write ('Error\n');
res.statusCode = 500;
res.end ();
respond (res, "Error\n\n", 500);
}
else {
res.write (status);
res.statusCode = 200;
res.end ();
respond (res, status, 200);
}
});
});
@ -143,22 +161,16 @@ http.createServer(function (req, res) {
case "DELETE /user":
handlers.user.delete (req.url.substring (req.url.lastIndexOf ("/") + 1), (status, err) => {
if (err) {
res.write ('Error\n');
res.statusCode = 500;
res.end ();
respond (res, "Error\n\n", 500);
}
else {
res.write (status);
res.statusCode = 200;
res.end ();
respond (res, status, 200);
}
});
break;
default:
res.write ('Not found\n');
res.statusCode = 404;
res.end ();
respond (res, "Not found\n\n", 404);
}
}).listen (8080);

View File

@ -57,6 +57,8 @@ module.exports = {
},
user: {
create: data.createUser,
getall: data.getUsers,
getone: data.getUser,
update: data.updateUser,
delete: data.deleteUser
}