Upgraded Hackathon Starter to Express 4
This commit is contained in:
45
app.js
45
app.js
@ -3,7 +3,17 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
var express = require('express');
|
var express = require('express');
|
||||||
var MongoStore = require('connect-mongo')(express);
|
var cookieParser = require('cookie-parser');
|
||||||
|
var compress = require('compression');
|
||||||
|
var session = require('express-session');
|
||||||
|
var bodyParser = require('body-parser');
|
||||||
|
var favicon = require('static-favicon');
|
||||||
|
var logger = require('morgan');
|
||||||
|
var errorHandler = require('errorhandler');
|
||||||
|
var csrf = require('csurf');
|
||||||
|
var methodOverride = require('method-override');
|
||||||
|
|
||||||
|
var MongoStore = require('connect-mongo')({ session: session });
|
||||||
var flash = require('express-flash');
|
var flash = require('express-flash');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var mongoose = require('mongoose');
|
var mongoose = require('mongoose');
|
||||||
@ -57,21 +67,22 @@ app.use(connectAssets({
|
|||||||
paths: ['public/css', 'public/js'],
|
paths: ['public/css', 'public/js'],
|
||||||
helperContext: app.locals
|
helperContext: app.locals
|
||||||
}));
|
}));
|
||||||
app.use(express.compress());
|
app.use(compress());
|
||||||
app.use(express.logger('dev'));
|
app.use(favicon());
|
||||||
app.use(express.cookieParser());
|
app.use(logger('dev'));
|
||||||
app.use(express.json());
|
app.use(bodyParser.json());
|
||||||
app.use(express.urlencoded());
|
app.use(bodyParser.urlencoded());
|
||||||
app.use(expressValidator());
|
app.use(expressValidator());
|
||||||
app.use(express.methodOverride());
|
app.use(methodOverride());
|
||||||
app.use(express.session({
|
app.use(cookieParser());
|
||||||
|
app.use(session({
|
||||||
secret: secrets.sessionSecret,
|
secret: secrets.sessionSecret,
|
||||||
store: new MongoStore({
|
store: new MongoStore({
|
||||||
url: secrets.db,
|
url: secrets.db,
|
||||||
auto_reconnect: true
|
auto_reconnect: true
|
||||||
})
|
})
|
||||||
}));
|
}));
|
||||||
app.use(express.csrf());
|
app.use(csrf());
|
||||||
app.use(passport.initialize());
|
app.use(passport.initialize());
|
||||||
app.use(passport.session());
|
app.use(passport.session());
|
||||||
app.use(function(req, res, next) {
|
app.use(function(req, res, next) {
|
||||||
@ -90,12 +101,6 @@ app.use(function(req, res, next) {
|
|||||||
req.session.returnTo = req.path;
|
req.session.returnTo = req.path;
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
app.use(app.router);
|
|
||||||
app.use(function(req, res) {
|
|
||||||
res.status(404);
|
|
||||||
res.render('404');
|
|
||||||
});
|
|
||||||
app.use(express.errorHandler());
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Application routes.
|
* Application routes.
|
||||||
@ -182,6 +187,16 @@ app.get('/auth/venmo/callback', passport.authorize('venmo', { failureRedirect: '
|
|||||||
res.redirect('/api/venmo');
|
res.redirect('/api/venmo');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// 404 error handler
|
||||||
|
app.use(function(req, res) {
|
||||||
|
res.status(404);
|
||||||
|
res.render('404');
|
||||||
|
});
|
||||||
|
|
||||||
|
// 500 error handler
|
||||||
|
app.use(errorHandler());
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Start Express server.
|
* Start Express server.
|
||||||
*/
|
*/
|
||||||
|
10
package.json
10
package.json
@ -18,6 +18,15 @@
|
|||||||
"connect-mongo": "^0.4.0",
|
"connect-mongo": "^0.4.0",
|
||||||
"csso": "^1.3.11",
|
"csso": "^1.3.11",
|
||||||
"express": "^4.0.0",
|
"express": "^4.0.0",
|
||||||
|
"body-parser": "^1.0.1",
|
||||||
|
"cookie-parser": "^1.0.1",
|
||||||
|
"static-favicon": "^1.0.2",
|
||||||
|
"express-session": "^1.0.2",
|
||||||
|
"morgan": "^1.0.0",
|
||||||
|
"csurf": "^1.1.0",
|
||||||
|
"compression": "^1.0.1",
|
||||||
|
"errorhandler": "^1.0.0",
|
||||||
|
"method-override": "^1.0.0",
|
||||||
"express-flash": "^0.0.2",
|
"express-flash": "^0.0.2",
|
||||||
"express-validator": "^2.1.1",
|
"express-validator": "^2.1.1",
|
||||||
"fbgraph": "^0.2.10",
|
"fbgraph": "^0.2.10",
|
||||||
@ -45,6 +54,7 @@
|
|||||||
"underscore": "^1.6.0",
|
"underscore": "^1.6.0",
|
||||||
"uglify-js": "^2.4.12",
|
"uglify-js": "^2.4.12",
|
||||||
"validator": "^3.8.0"
|
"validator": "^3.8.0"
|
||||||
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"mocha": "^1.18.2",
|
"mocha": "^1.18.2",
|
||||||
|
Reference in New Issue
Block a user