@@ -16,6 +16,7 @@ const mongoose = require('mongoose');
1616const MongoStore = require ( 'connect-mongo' ) ;
1717
1818const MONGO_DB = process . env . MONGO_URL || 'mongodb://localhost:27017' ;
19+ const sessionOff = process . env . SESSION_OFF || false ;
1920
2021const connectWithRetry = ( ) => {
2122 mongoose
@@ -32,7 +33,13 @@ const connectWithRetry = () => {
3233 setTimeout ( connectWithRetry , 5000 ) ;
3334 } ) ;
3435} ;
35- connectWithRetry ( ) ;
36+
37+ if ( ! sessionOff ) {
38+ debug ( `Enabling sessions` ) ;
39+ connectWithRetry ( ) ;
40+ } else {
41+ debug ( 'Sessions are disabled.' ) ;
42+ }
3643
3744// view engine setup
3845app . set ( 'views' , path . join ( __dirname , 'views' ) ) ;
@@ -44,29 +51,31 @@ app.use(express.urlencoded({ extended: false }));
4451app . use ( cookieParser ( ) ) ;
4552app . use ( flash ( ) ) ;
4653
47- if ( process . env . NODE_ENV === 'production' ) {
48- // Use Mongo-DB to store session data.
49- app . use (
50- session ( {
51- resave : false ,
52- saveUninitialized : true ,
53- secret : SECRET ,
54- store : MongoStore . create ( {
55- mongoUrl : MONGO_DB + '/sessions' ,
56- mongooseConnection : mongoose . connection ,
57- ttl : 14 * 24 * 60 * 60 // save session for 14 days
54+ if ( ! sessionOff ) {
55+ if ( process . env . NODE_ENV === 'production' ) {
56+ // Use Mongo-DB to store session data.
57+ app . use (
58+ session ( {
59+ resave : false ,
60+ saveUninitialized : true ,
61+ secret : SECRET ,
62+ store : MongoStore . create ( {
63+ mongoUrl : MONGO_DB + '/sessions' ,
64+ mongooseConnection : mongoose . connection ,
65+ ttl : 14 * 24 * 60 * 60 // save session for 14 days
66+ } )
5867 } )
59- } )
60- ) ;
61- } else {
62- // Use Memstore for session data.
63- app . use (
64- session ( {
65- secret : SECRET ,
66- resave : false ,
67- saveUninitialized : true
68- } )
69- ) ;
68+ ) ;
69+ } else {
70+ // Use Memstore for session data.
71+ app . use (
72+ session ( {
73+ secret : SECRET ,
74+ resave : false ,
75+ saveUninitialized : true
76+ } )
77+ ) ;
78+ }
7079}
7180
7281app . use ( express . static ( path . join ( __dirname , 'public' ) ) ) ;
0 commit comments