const express = require("express");
|
const htmlTemplate = require("./views/index.html");
|
|
const port = (() => {
|
const index = process.argv.indexOf("--port");
|
|
if (index >= 0) {
|
return process.argv.indexOf("--port") + 1;
|
}
|
else {
|
return 3000;
|
}
|
})();
|
|
const app = express();
|
|
const todos = [];
|
|
app.listen(port, "0.0.0.0", () => {
|
console.log(`Server listening on port ${port}`);
|
});
|
|
app.get("/", (req, res) => {
|
return res.send(htmlTemplate(todos));
|
});
|
|
app.get("/todo", (req, res) => {
|
todos.push(req.query.todo);
|
|
return res.send(htmlTemplate(todos));
|
});
|
|
app.post("/todo", (req, res) => {
|
let body = "";
|
|
req
|
.on("data", (chunk) => body += chunk)
|
.on("end", () => {
|
todos.push(body.split("=")[1]);
|
|
return res.send(htmlTemplate(todos));
|
});
|
});
|
|
app.post("/todo/delete", (req, res) => {
|
let body = "";
|
|
req
|
.on("data", (chunk) => body += chunk)
|
.on("end", () => {
|
todos.splice(todos.indexOf(body.split("=")[1]), 1);
|
|
return res.send(htmlTemplate(todos));
|
});
|
});
|