From e31dfa7c071b04733b2a586efb5f456dbd1fd130 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 9 Jul 2014 13:22:58 -0400 Subject: setting up express --- server/middleware.js | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 server/middleware.js (limited to 'server/middleware.js') diff --git a/server/middleware.js b/server/middleware.js new file mode 100644 index 0000000..c13aecb --- /dev/null +++ b/server/middleware.js @@ -0,0 +1,46 @@ + +/* jshint node: true */ + +var passport = require('passport'), + _ = require('lodash'), + config = require('../config.json'); + + +var middleware = { + + enableCORS: function (req, res, next) { + res.header('Access-Control-Allow-Credentials', true); + // TODO Check https vs. http + res.header('Access-Control-Allow-Origin', '*'); + res.header('Access-Control-Allow-Headers', 'X-Requested-With'); + next(); + }, + + ensureAuthenticated: function (req, res, next) { + if (! req.isAuthenticated()) { + req.session.returnTo = req.path; + return res.redirect('/login'); + } + next(); + }, + + ensureIsStaff: function (req, res, next) { + if (! req.user.isStaff) { + return res.redirect('http://' + config.host + '/'); + } + next(); + }, + + ensureLocals: function (req, res, next) { + res.locals.token = req.csrfToken(); + res.locals.logged_in = req.isAuthenticated() + res.locals.user = req.user || {} + res.locals.config = config + res.locals.profile = null + res.locals.opt = {} + next() + }, + +} + +module.exports = middleware -- cgit v1.2.3-70-g09d2