const express = require("express"); const port = (() => { const index = process.argv.indexOf("--port"); if (index >= 0) { return process.argv.indexOf("--port") + 1; } else { return 3000; } })(); const todos = []; const app = express(); app.use(express.json()); app.listen(port, "0.0.0.0", () => { console.log(`Server listening on port ${port}`); }); app.get("/todo", (req, res) => { return res.json(todos); }); app.get("/todo/:index", (req, res) => { return res.json(todos[req.params.index]); }); app.post("/todo", (req, res) => { try { todos.push(req.body.name); return res.json(todos); } catch(e) { console.error("Unable to parse body"); return res.status(500).json(todos); } }); app.put("/todo/:index", (req, res) => { try { todos[req.params.index] = req.body.name; return res.json(todos); } catch(e) { console.error("Unable to parse body"); return res.status(500).json(todos); } }); app.delete("/todo/:index", (req, res) => { todos.splice(req.params.index, 1); return res.json(todos); });