index.js
var express = require('express');
var router = express.Router();
// var count = 0;
// // middleware
// router.use(function(req, res, next) {
// count = count + 1;
// console.log("Received " + count + " requests");
// next();
// });
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.get('/brew', function(req, res, next) {
var query = req.query;
if(query['drink'] == "tea"){
res.send("A delicious cup of tea!");
}
else if(query['drink'] == "coffee"){
res.sendStatus(418);
}
else {
res.sendStatus(400);
}
});
var previousMessage = "first";
router.post('/pass-it-on', function(req, res, next) {
var body = req.body;
if(typeof body['message'] == 'undefined' || body['message'] == ""){
res.sendStatus(400);
} else {
res.send(previousMessage);
previousMessage = body['message'];
}
});
router.post('/combine', function(req, res, next) {
var body = req.body;
var lines = body.lines;
var suffix = body.suffix;
var combined = "";
for(var i=0;i<lines.length;i++){
combined = combined + lines[i] + suffix + "\n";
}
res.send(combined);
});
router.get('/cookie', function(req, res, next) {
if(typeof req.cookies.task3_1 == 'undefined') {
res.cookie('task3_1', 1);
} else {
var value = parseInt(req.cookies.task3_1) + 1;
res.cookie('task3_1', value);
}
console.log(req.cookies.task3_1);
res.send("ok");
});
router.post('/tcaccept', function(req, res, next) {
req.session.variableName = 5;
console.log(req.session.variableName);
res.send("It works");
});
module.exports = router;
users.js
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
router.use(function(req, res, next) {
if(req.method == "POST"){
console.log("POST from a user");
var rawHeaders = req.rawHeaders;
var contentTypeIndex = rawHeaders.indexOf("Content-type");
var applicationIndex = rawHeaders.indexOf("application/json");
if( !(contentTypeIndex > -1 && applicationIndex > -1 && applicationIndex - contentTypeIndex == 1) ){
res.sendStatus(412);
} else {
next();
}
}
else {
next();
}
});
var blog = [];
router.post('/addpost', function(req, res, next) {
blog.push(req.body);
res.sendStatus(200);
});
router.param(['id'], function (req, res, next, value) {
res.send(blog[value]);
})
router.get('/getposts/id/:id', function(req, res, next) {
var query = req.query;
if(typeof query['n'] != 'undefined' || query['n'] != ""){
var array = blog.slice(0,query['n']);
res.send(array);
}
else {
res.send(blog);
}
});
router.get('/accepted', function(req, res, next) {
if(req.session.variableName == 5){
res.send("It works");
} else {
res.sendStatus(403);
}
});
module.exports = router;