Guest User

server

a guest
Jul 19th, 2016
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express = require('express');
  2. var path = require('path');
  3. var favicon = require('serve-favicon');
  4. var logger = require('morgan');
  5. var cookieParser = require('cookie-parser');
  6. var bodyParser = require('body-parser');
  7. var expressValidator = require('express-validator');
  8. var flash = require('connect-flash');
  9. var session = require('express-session');
  10. var passport = require('passport');
  11. var FacebookStrategy = require('passport-facebook').Strategy;
  12. var LocalStrategy = require('passport-local').Strategy;
  13. var mongo = require('mongodb');
  14. var mongoose = require('mongoose');
  15. mongoose.connect('mongodb://localhost/mydatabase');
  16. var db = mongoose.connection;
  17. var User = require('./models/user');
  18. var Facebook = require('./models/facebook');
  19.  
  20. var routes = require('./routes/index');
  21. var users = require('./routes/users');
  22.  
  23. var app = express();
  24.  
  25. //express session
  26. app.use(session({
  27.   secret: 'xxxxxxx',
  28.   saveUninitialized: true,
  29.   resave: false
  30. }));
  31.  
  32. //Passport init
  33. app.use(passport.initialize());
  34. app.use(passport.session());
  35.  
  36. //express validator
  37. app.use(expressValidator({
  38.   errorFormatter: function(param, msg, value) {
  39.     var namespace = param.split('.')
  40.         , root    = namespace.shift()
  41.         , formParam = root;
  42.  
  43.     while(namespace.length) {
  44.       formParam += '[' + namespace.shift() + ']';
  45.     }
  46.     return {
  47.       param : formParam,
  48.       msg   : msg,
  49.       value : value
  50.     };
  51.   }
  52. }));
  53.  
  54. //Connect Flash
  55. app.use(flash());
  56.  
  57. //Global variables
  58. app.use(function(req, res, next){
  59.   res.locals.success_msg = req.flash('success_msg');
  60.   res.locals.error_msg = req.flash('error_msg');
  61.   res.locals.error = req.flash('error');
  62.   next();
  63. });
  64.  
  65.  
  66.  
  67. // view engine setup
  68. app.set('views', path.join(__dirname, 'views'));
  69. app.set('view engine', 'hbs');
  70.  
  71. // uncomment after placing your favicon in /public
  72. //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
  73. app.use(logger('dev'));
  74. app.use(bodyParser.json());
  75. app.use(bodyParser.urlencoded({ extended: false }));
  76. app.use(cookieParser());
  77. app.use(express.static(path.join(__dirname, 'public')));
  78.  
  79. app.use('/', routes);
  80. app.use('/users', users);
  81.  
  82. // catch 404 and forward to error handler
  83. app.use(function(req, res, next) {
  84.   var err = new Error('Not Found');
  85.   err.status = 404;
  86.   next(err);
  87. });
  88.  
  89. // error handlers
  90.  
  91. // development error handler
  92. // will print stacktrace
  93. if (app.get('env') === 'development') {
  94.   app.use(function(err, req, res, next) {
  95.     res.status(err.status || 500);
  96.     res.render('error', {
  97.       message: err.message,
  98.       error: err
  99.     });
  100.   });
  101. }
  102.  
  103. // production error handler
  104. // no stacktraces leaked to user
  105. app.use(function(err, req, res, next) {
  106.   res.status(err.status || 500);
  107.   res.render('error', {
  108.     message: err.message,
  109.     error: {}
  110.   });
  111. });
  112.  
  113. module.exports = app;
Advertisement
Add Comment
Please, Sign In to add comment