From 9bb066f0c6743b2dc2d16f37d3166dd7cd4b06ae Mon Sep 17 00:00:00 2001 From: Simo Kinnunen Date: Tue, 3 Jun 2014 16:33:00 +0900 Subject: [PATCH] Update to express 4. --- lib/roles/app.js | 48 +++++++++++++++++++++++---------------- lib/roles/auth/ldap.js | 20 ++++++++-------- lib/roles/auth/mock.js | 20 ++++++++-------- lib/roles/storage/temp.js | 3 ++- 4 files changed, 52 insertions(+), 39 deletions(-) diff --git a/lib/roles/app.js b/lib/roles/app.js index cf34667c..3a59fcbf 100644 --- a/lib/roles/app.js +++ b/lib/roles/app.js @@ -5,6 +5,11 @@ var util = require('util') var express = require('express') var validator = require('express-validator') +var cookieSession = require('cookie-session') +var bodyParser = require('body-parser') +var serveFavicon = require('serve-favicon') +var serveStatic = require('serve-static') +var csrf = require('csurf') var socketio = require('socket.io') var zmq = require('zmq') var Promise = require('bluebird') @@ -55,27 +60,27 @@ module.exports = function(options) { } app.use('/static/bower_components', - express.static(pathutil.resource('bower_components'))) + serveStatic(pathutil.resource('bower_components'))) app.use('/intro', - express.static(pathutil.resource('bower_components/stf-site/intro'))) + serveStatic(pathutil.resource('bower_components/stf-site/intro'))) app.use('/manual-basic', - express.static(pathutil.resource('bower_components/stf-site/manual/basic'))) + serveStatic(pathutil.resource('bower_components/stf-site/manual/basic'))) app.use('/manual-advanced', - express.static(pathutil.resource('bower_components/stf-site/manual/advanced'))) + serveStatic(pathutil.resource('bower_components/stf-site/manual/advanced'))) app.use('/v2-features', - express.static(pathutil.resource('bower_components/stf-site/v2-features'))) - app.use('/static/data', express.static(pathutil.resource('data'))) - app.use('/static/build', express.static(pathutil.resource('build'))) + serveStatic(pathutil.resource('bower_components/stf-site/v2-features'))) + app.use('/static/data', serveStatic(pathutil.resource('data'))) + app.use('/static/build', serveStatic(pathutil.resource('build'))) app.use('/static/browsers', browserIconMiddleware()) app.use('/static/devices', deviceIconMiddleware()) - app.use('/static', express.static(pathutil.resource('app'))) + app.use('/static', serveStatic(pathutil.resource('app'))) - app.use(express.favicon(pathutil.resource( + app.use(serveFavicon(pathutil.resource( 'bower_components/stf-graphics/logo/exports/STF-128.png'))) - app.use(express.cookieParser(options.secret)) - app.use(express.cookieSession({ - key: options.ssid + app.use(cookieSession({ + name: options.ssid + , keys: [options.secret] })) app.use(auth({ secret: options.secret @@ -103,9 +108,8 @@ module.exports = function(options) { }) }) - app.use(express.json()) - app.use(express.urlencoded()) - app.use(express.csrf()) + app.use(bodyParser.json()) + app.use(csrf()) app.use(validator()) // Output @@ -227,13 +231,17 @@ module.exports = function(options) { }) io.set('authorization', (function() { - var parse = Promise.promisify(express.cookieParser(options.secret)) + var session = Promise.promisify(cookieSession({ + name: options.ssid + , keys: [options.secret] + })) return function(handshake, accept) { - parse(handshake, {}) + var res = Object.create(null) + session(handshake, res) .then(function() { - if (handshake.signedCookies[options.ssid]) { - handshake.session = handshake.signedCookies[options.ssid] - return dbapi.loadUser(handshake.session.jwt.email) + var token = handshake.session.jwt + if (token) { + return dbapi.loadUser(token.email) .then(function(user) { if (user) { handshake.user = user diff --git a/lib/roles/auth/ldap.js b/lib/roles/auth/ldap.js index 2a4555b3..864a7907 100644 --- a/lib/roles/auth/ldap.js +++ b/lib/roles/auth/ldap.js @@ -2,6 +2,10 @@ var http = require('http') var express = require('express') var validator = require('express-validator') +var cookieSession = require('cookie-session') +var bodyParser = require('body-parser') +var serveStatic = require('serve-static') +var csrf = require('csurf') var Promise = require('bluebird') var logger = require('../../util/logger') @@ -30,18 +34,16 @@ module.exports = function(options) { app.set('strict routing', true) app.set('case sensitive routing', true) - app.use(express.cookieParser()) - app.use(express.cookieSession({ - secret: options.secret - , key: options.ssid + app.use(cookieSession({ + name: options.ssid + , keys: [options.secret] })) - app.use(express.json()) - app.use(express.urlencoded()) - app.use(express.csrf()) + app.use(bodyParser.json()) + app.use(csrf()) app.use(validator()) app.use('/static/bower_components', - express.static(pathutil.resource('bower_components'))) - app.use('/static', express.static(pathutil.resource('auth-ldap'))) + serveStatic(pathutil.resource('bower_components'))) + app.use('/static', serveStatic(pathutil.resource('auth-ldap'))) app.use(function(req, res, next) { res.cookie('XSRF-TOKEN', req.csrfToken()); diff --git a/lib/roles/auth/mock.js b/lib/roles/auth/mock.js index 49589508..e34d3822 100644 --- a/lib/roles/auth/mock.js +++ b/lib/roles/auth/mock.js @@ -2,6 +2,10 @@ var http = require('http') var express = require('express') var validator = require('express-validator') +var cookieSession = require('cookie-session') +var bodyParser = require('body-parser') +var serveStatic = require('serve-static') +var csrf = require('csurf') var Promise = require('bluebird') var logger = require('../../util/logger') @@ -29,18 +33,16 @@ module.exports = function(options) { app.set('strict routing', true) app.set('case sensitive routing', true) - app.use(express.cookieParser()) - app.use(express.cookieSession({ - secret: options.secret - , key: options.ssid + app.use(cookieSession({ + name: options.ssid + , keys: [options.secret] })) - app.use(express.json()) - app.use(express.urlencoded()) - app.use(express.csrf()) + app.use(bodyParser.json()) + app.use(csrf()) app.use(validator()) app.use('/static/bower_components', - express.static(pathutil.resource('bower_components'))) - app.use('/static', express.static(pathutil.resource('auth-mock'))) + serveStatic(pathutil.resource('bower_components'))) + app.use('/static', serveStatic(pathutil.resource('auth-mock'))) app.use(function(req, res, next) { res.cookie('XSRF-TOKEN', req.csrfToken()); diff --git a/lib/roles/storage/temp.js b/lib/roles/storage/temp.js index 3681cc06..20cdee56 100644 --- a/lib/roles/storage/temp.js +++ b/lib/roles/storage/temp.js @@ -4,6 +4,7 @@ var path = require('path') var express = require('express') var validator = require('express-validator') +var bodyParser = require('body-parser') var formidable = require('formidable') var Promise = require('bluebird') @@ -22,7 +23,7 @@ module.exports = function(options) { app.set('case sensitive routing', true) app.set('trust proxy', true) - app.use(express.json()) + app.use(bodyParser.json()) app.use(validator()) storage.on('timeout', function(id) {