Created
May 14, 2015 01:10
-
-
Save mikeuduc/a5dba089e6e8fc5bf126 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// server.js | |
// set up ====================================================================== | |
// get all the tools we need | |
var express = require('express'); | |
var app = express(); | |
var port = process.env.PORT || 5858; | |
var mongoose = require('mongoose'); | |
var passport = require('passport'); | |
var flash = require('connect-flash'); | |
var session = require('express-session'); | |
var RedisStore = require('connect-redis')(session); | |
var configDB = require('./config/database.js'); | |
// configuration =============================================================== | |
mongoose.connect(configDB.mongodb.url); // connect to our database | |
require('./config/passport')(passport); // pass passport for configuration | |
app.configure(function() { | |
// set up our express application | |
app.use(express.logger('dev')); // log every request to the console | |
app.use(express.cookieParser()); | |
app.use(express.bodyParser()); // get information from html forms | |
app.set('view engine', 'ejs'); // set up ejs for templating | |
app.use('/assets', express.static('assets')); | |
app.use('/Scripts', express.static('Scripts')); | |
app.set('view options', { pretty: true }); // set up ejs for templating | |
// required for passport | |
// app.use(session({ secret: 'quodisys' })); // session secret | |
/* app.use(session({ | |
store: new RedisStore({ host: configDB.redis.host, port: configDB.redis.port, pass: configDB.redis.pass }) , // session store redis | |
secret: 'quodisys', //session secret | |
saveUninitialized: false, // don't create session until something stored, | |
resave: false // don't save session if unmodified | |
}));*/ | |
var redisStoreOptions = { | |
host: 'angelfish.redistogo.com', | |
port: 10947 , | |
pass :'fd1e9162ef80a976ecae1c8ca8f191b8' | |
} | |
app.use(session({ | |
store: new RedisStore(redisStoreOptions) , // session store redis | |
secret: 'quodisys', //session secret | |
saveUninitialized: false, // don't create session until something stored, | |
resave: false // don't save session if unmodified | |
})); | |
app.use(function (req, res, next) { | |
if (!req.session) { | |
return next(new Error('oh no')) // handle error | |
} | |
next() // otherwise continue | |
}) | |
app.use(function (req, res, next) { | |
res.header("Access-Control-Allow-Origin", "*"); | |
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); | |
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); | |
next(); | |
}); | |
//app.use(express.favicon("public/images/favicon.ico")); | |
app.use(passport.initialize()); | |
app.use(passport.session()); // persistent login sessions | |
app.use(flash()); | |
}); | |
// routes ====================================================================== | |
require('./app/routes.js')(app, passport); // load our routes and pass in our app and fully configured passport | |
// launch ====================================================================== | |
app.listen(port); | |
console.log('Testimonial In Development On ' + port); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment