Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. if(process.env.NODE_ENV !== 'DEVELOPMENT') {
  2. require('newrelic');
  3. }
  4.  
  5. // Super cheaty patch
  6. process.env.REDISTOGO_URL = process.env.REDISCLOUD_URL;
  7.  
  8. var express = require('express'),
  9. ejs = require('ejs'),
  10. engine = require('ejs-locals'),
  11. app = express(),
  12. passport = require("passport"),
  13. LocalStrategy = require('passport-local').Strategy,
  14. HerokuRedisStore = require('connect-heroku-redis')(express),
  15. MemoryStoreModel = require("./models/MemoryStore"),
  16. redisEnvUrl = process.env.REDISCLOUD_URL,
  17. REFRESH_CHARTS_RATE = 1800000, // 30 minutes
  18. MemoryStore,
  19. dataStore;
  20.  
  21. // Useful debugger:
  22. // var webkitDevtoolsAgent = require("webkit-devtools-agent");
  23.  
  24. process.env.TZ = 'America/Chicago';
  25. process.setMaxListeners(0);
  26.  
  27. // If REDIS_TOGO is available (Heroku box)
  28. if (redisEnvUrl) {
  29. var redis = require('redis');
  30. var url = require('url');
  31. var redisURL = url.parse(redisEnvUrl);
  32. dataStore = redis.createClient(redisURL.port, redisURL.hostname, {no_ready_check: true});
  33. dataStore.auth(redisURL.auth.split(":")[1]);
  34. } else {
  35. dataStore = require("redis").createClient();
  36. }
  37.  
  38. MemoryStore = new MemoryStoreModel(dataStore);
  39. MemoryStore.refreshHighCharts();
  40. setInterval(function(){
  41. MemoryStore.refreshHighCharts();
  42. }, REFRESH_CHARTS_RATE);
  43.  
  44. app.configure(function() {
  45. app.engine('ejs', engine);
  46. app.use(express.bodyParser());
  47. app.use(express.cookieParser());
  48. app.set('view engine', 'ejs');
  49. app.set('views', __dirname + '/views');
  50. app.use(express.session({ secret: 'keyboard cat times eleven',store: new HerokuRedisStore() }));
  51. app.use(passport.initialize());
  52. app.use(passport.session());
  53. app.use(express.static(__dirname + '/public'));
  54. });
  55.  
  56. // Init Home Controller
  57. (require('./controllers/home'))(app, dataStore, MemoryStore);
  58.  
  59. // Init WonderTrade Controller
  60. (require('./controllers/wondertrade'))(app, dataStore, passport, MemoryStore);
  61.  
  62. // Init Data Controller
  63. (require('./controllers/data'))(app, dataStore, MemoryStore);
  64.  
  65. // Init User Authentication Controller
  66. (require('./controllers/authentication'))(app, dataStore, passport, LocalStrategy);
  67.  
  68. // Init Admin Controller
  69. (require('./controllers/admin'))(app, dataStore);
  70.  
  71.  
  72. // After all other routes are init, we can now check for 404s.
  73. app.use(function(req, res, next){
  74. res.render('404', { status: 404, url: req.url, title: '404, Page Not Found', user: req.user, stateMessage: '', pageState: '' });
  75. });
  76.  
  77. app.use(function(error, req, res, next) {
  78. console.log(req.originalUrl, ':', error.stack);
  79. res.render('500', { status: 500, url: req.url, title: 'Something broke :(', user: req.user, stateMessage: '', pageState: '' });
  80. });
  81.  
  82.  
  83. var serverPort = process.env.PORT || 5000;
  84. app.listen(serverPort, function(){
  85. console.log('Listening on port '+serverPort+'..');
  86. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement