From d753b76c3a46160003d7f2011417303ecf772960 Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Thu, 16 Aug 2012 20:30:29 +0200 Subject: [PATCH] migrated to express 3.x and node 0.8 --- app.js | 42 ++++++++++++++++++++++------------------ package.json | 7 +++---- routes/user.js | 3 ++- views/index.jade | 6 ++++-- views/login.jade | 4 ++-- views/recoverpasswd.jade | 10 +++++----- views/room.jade | 2 +- views/signup.jade | 14 +++++++------- 8 files changed, 47 insertions(+), 41 deletions(-) diff --git a/app.js b/app.js index 9ef114a..d4750df 100644 --- a/app.js +++ b/app.js @@ -4,7 +4,9 @@ var config = require('./config') , express = require('express') - , parseCookie = require('connect').utils.parseCookie + , http = require('http') + , parseCookie = require('express/node_modules/cookie').parse + , parseSignedCookies = require('express/node_modules/connect').utils.parseSignedCookies , redisstore = require('connect-redis')(express) , redisurl = require('redis-url') , site = require('./routes/site') @@ -28,30 +30,29 @@ usersdb.on('error', function(err) { /** * Setting up Express. */ -var sessionstore = new redisstore({client:usersdb}) - , app = express.createServer(); + +var app = express() + , sessionstore = new redisstore({client:usersdb}); // Configuration app.use(express.static(__dirname + '/public'), {maxAge: 2592000000}); app.use(express.favicon(__dirname + '/public/static/images/favicon.ico', {maxAge: 2592000000})); app.use(express.bodyParser()); -app.use(express.cookieParser()); -app.use(express.session({secret:process.env.SESSION_SECRET,store:sessionstore})); - +app.use(express.cookieParser(process.env.SITE_SECRET)); +app.use(express.session({store:sessionstore})); app.set('view engine', 'jade'); -app.set('view options', {layout:false}); -app.dynamicHelpers({ - errors: function(req, res) { - var errors = req.session.errors; +// Middleware to report errors during form submission +app.use(function(req, res, next) { + if (req.session.errors) { + res.locals.errors = req.session.errors; delete req.session.errors; - return errors; - }, - oldvalues: function(req, res) { - var oldvalues = req.session.oldvalues; + } + if (req.session.oldvalues) { + res.locals.oldvalues = req.session.oldvalues; delete req.session.oldvalues; - return oldvalues; } + next(); }); // Routes @@ -75,14 +76,14 @@ app.post('/resetpasswd', user.resetPasswd); app.get('/:room', site.room); app.get('/user/*', user.profile); -// App listen -app.listen(config.port); +// HTTP server object +var server = http.createServer(app); /** * Setting up Socket.IO. */ -var io = require('socket.io').listen(app) +var io = require('socket.io').listen(server) , sockets = Object.create(null); // Sockets of all rooms // Configuration @@ -102,7 +103,8 @@ io.set('authorization', function(data, accept) { if(!data.headers.cookie) { return accept('no cookie transmitted', false); } - var cookie = parseCookie(data.headers.cookie); + var signedcookie = parseCookie(decodeURIComponent(data.headers.cookie)); + var cookie = parseSignedCookies(signedcookie, process.env.SITE_SECRET); sessionstore.get(cookie['connect.sid'], function(err, session) { if (err) { return accept(err.message, false); @@ -188,4 +190,6 @@ for (var i=0; i Players + a.thumbnail.relative(href=item) + .room #{item} - + span(id=item) + | Players include footer diff --git a/views/login.jade b/views/login.jade index 51c3a28..68b1a47 100644 --- a/views/login.jade +++ b/views/login.jade @@ -43,14 +43,14 @@ html label.control-label(for="username") Name .controls input#username(type="text",name="username", - value="#{oldvalues.username}") + value=oldvalues.username) span.help-inline #{errors.username} else .control-group label.control-label(for="username") Name .controls input#username(type="text",name="username", - value="#{oldvalues.username}") + value=oldvalues.username) if (typeof(errors.password) !== 'undefined') .control-group.error label.control-label(for="password") Password diff --git a/views/recoverpasswd.jade b/views/recoverpasswd.jade index a8e8d27..947f4ba 100644 --- a/views/recoverpasswd.jade +++ b/views/recoverpasswd.jade @@ -44,20 +44,20 @@ html label.control-label(for="email") Email .controls input#oldpassword(type="text",name="email", - value="#{oldvalues.email}") + value=oldvalues.email) span.help-inline #{errors.email} else .control-group label.control-label(for="email") Email .controls input#username(type="text",name="email", - value="#{oldvalues.email}") + value=oldvalues.email) if (typeof(errors.captcha) !== 'undefined') .control-group.error label.control-label(for="captcha-input") | Are you human? .controls - img#captcha(src="#{captchaurl}") + img#captcha(src=captchaurl) input#captcha-input(type="text",name="captcha") span.help-inline #{errors.captcha} else @@ -65,7 +65,7 @@ html label.control-label(for="captcha-input") | Are you human? .controls - img#captcha(src="#{captchaurl}") + img#captcha(src=captchaurl) input#captcha-input(type="text",name="captcha", placeholder="type what you see...") else @@ -77,7 +77,7 @@ html .control-group label.control-label(for="captcha-input") Are you human? .controls - img#captcha(src="#{captchaurl}") + img#captcha(src=captchaurl) input#captcha-input(type="text",name="captcha", placeholder="type what you see...") button.submit-button.btn.btn-primary(type="submit") diff --git a/views/room.jade b/views/room.jade index 6f303b5..ad501d2 100644 --- a/views/room.jade +++ b/views/room.jade @@ -27,7 +27,7 @@ html each item in rooms if item != roomname li - a(href="/#{item}") #{item} + a(href=item) #{item} if (typeof(loggedin) !== "undefined") li.dropdown a.dropdown-toggle(data-toggle="dropdown", diff --git a/views/signup.jade b/views/signup.jade index bca0323..326acb8 100644 --- a/views/signup.jade +++ b/views/signup.jade @@ -45,27 +45,27 @@ html label.control-label(for="username") Name .controls input#username(type="text",name="username", - value="#{oldvalues.username}") + value=oldvalues.username) span.help-inline #{errors.username} else .control-group label.control-label(for="username") Name .controls input#username(type="text",name="username", - value="#{oldvalues.username}") + value=oldvalues.username) if (typeof(errors.email) !== 'undefined') .control-group.error label.control-label(for="email") Email .controls input#email(type="text",name="email", - value="#{oldvalues.email}") + value=oldvalues.email) span.help-inline #{errors.email} else .control-group label.control-label(for="email") Email .controls input#email(type="text",name="email", - value="#{oldvalues.email}") + value=oldvalues.email) if (typeof(errors.password) !== 'undefined') .control-group.error label.control-label(for="password") Password @@ -82,14 +82,14 @@ html .control-group.error label.control-label(for="captcha-input") Are you human? .controls - img#captcha(src="#{captchaurl}") + img#captcha(src=captchaurl) input#captcha-input(type="text",name="captcha") span.help-inline #{errors.captcha} else .control-group label.control-label(for="captcha-input") Are you human? .controls - img#captcha(src="#{captchaurl}") + img#captcha(src=captchaurl) input#captcha-input(type="text",name="captcha", placeholder="type what you see...") else @@ -111,7 +111,7 @@ html .control-group label.control-label(for="captcha-input") Are you human? .controls - img#captcha(src="#{captchaurl}") + img#captcha(src=captchaurl) input#captcha-input(type="text",name="captcha", placeholder="type what you see...") button.submit-button.btn.btn-success(type="submit") -- 2.54.0