-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
82 lines (63 loc) · 1.95 KB
/
app.js
File metadata and controls
82 lines (63 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
const http = require("http");
const url = require("url");
const queryString = require("querystring");
const express = require("express");
const app = express();
const swig = require("swig");
const morgan = require("morgan");
const favicon = require("serve-favicon");
const bodyParser = require("body-parser");
app
.use(express.static(__dirname + "/public"))
.use(favicon(__dirname + '/public/images/favicon.ico')) // use the favicon
.use(bodyParser.json()) // accept JSON dataset
.use(bodyParser.urlencoded({ // accept url params
extended: true
}));
app.engine("html", swig.renderFile); // set swig to render html files
app.set("view engine", "html");
app.set("views", __dirname + "/views");
var todo = [];
// disable express cache, will use swig cache instead
app.set("view cache", false);
app.get("/", function(req, res) {
var todo = [{name:"menage", id:1}, {name:"repassage", id: 2}, {name: "sleep", id: 3}];
res.render("index", {
title: "SWIG !",
todo: todo
});
})
.get("/todo", function(req, res) {
res.render("index", {
title: "SWIG !",
todo: todo
});
})
.get("/todo/delete/:name", function(req, res) {
var name = req.params.name;
var index = todo.indexOf(name);
console.log("un utilisateur supprime la tâche :", name);
todo.splice(index, 1);
res.redirect("/todo");
})
.post("/todo/add/", function(req, res) {
var taskName = req.body.taskName;
console.log("un utilisateur ajoute la tâche :", taskName);
todo.push(taskName);
res.redirect("/todo");
})
// test page with Swig template
.get("/test/:testnum", function(req, res) {
res.setHeader("Content-Type", "text/plain");
if (! isNaN(req.params.testnum)) {
res.end("Il s'agit du test numero " + req.params.testnum);
} else {
res.status(400).send("Vous devez indiquer un numéro de test.");
}
})
// deal with the 404 errors
.use(function(req, res, next) {
res.setHeader("Content-Type", "text/plain");
res.status(400).send("Cette page est introuvable.");
});
app.listen(1984);