Creazione organizza
[YouAndWeb_TwoToc] / .fr-KzWVa7 / twotoc / server / config / express.js
diff --git a/.fr-KzWVa7/twotoc/server/config/express.js b/.fr-KzWVa7/twotoc/server/config/express.js
new file mode 100755 (executable)
index 0000000..aa389fc
--- /dev/null
@@ -0,0 +1,65 @@
+/**
+ * Express configuration
+ */
+
+'use strict';
+
+var express = require('express');
+var favicon = require('serve-favicon');
+var morgan = require('morgan');
+var compression = require('compression');
+var bodyParser = require('body-parser');
+var methodOverride = require('method-override');
+var cookieParser = require('cookie-parser');
+var errorHandler = require('errorhandler');
+var path = require('path');
+var config = require('./environment');
+var passport = require('passport');
+var session = require('express-session');
+var mongoStore = require('connect-mongo')(session);
+var mongoose = require('mongoose');
+
+module.exports = function(app) {
+  var env = app.get('env');
+
+  app.set('views', config.root + '/server/views');
+  app.engine('html', require('ejs').renderFile);
+  app.set('view engine', 'html');
+  app.use(compression());
+  app.use(bodyParser.urlencoded({ extended: false }));
+  app.use(bodyParser.json());
+  app.use(methodOverride());
+  app.use(cookieParser());
+  app.use(passport.initialize());
+
+  // Persist sessions with mongoStore / sequelizeStore
+  // We need to enable sessions for passport twitter because its an oauth 1.0 strategy
+  app.use(session({
+    secret: config.secrets.session,
+    resave: true,
+    saveUninitialized: true,
+    store: new mongoStore({
+      mongooseConnection: mongoose.connection,
+      db: 'dashboard'
+    })
+  }));
+
+  app.set('appPath', path.join(config.root, 'client'));
+
+  if ('production' === env) {
+    app.use(favicon(path.join(config.root, 'client', 'favicon.ico')));
+    app.use(express.static(app.get('appPath')));
+    app.use(morgan('dev'));
+  }
+
+  if ('development' === env) {
+    app.use(require('connect-livereload')());
+  }
+
+  if ('development' === env || 'test' === env) {
+    app.use(express.static(path.join(config.root, '.tmp')));
+    app.use(express.static(app.get('appPath')));
+    app.use(morgan('dev'));
+    app.use(errorHandler()); // Error handler - has to be last
+  }
+};