I would like to disable the session creation for a specific route, as "/app/....";
I tried one way by using the code see below :
pool = mysql.createPool(mysqlOptions);
var sessionConnection = mysql.createConnection(mysqlOptions);
var sessionStore = new MySQLStore(mysqlOptions, sessionConnection);
app.use(function(req, res, next){
if (!req.path.startsWith("/app/"))
session({
key: 'x',
secret: 'x',
store: sessionStore,
resave: false,
saveUninitialized: true,
cookie: {maxAge: moment().endOf('days').diff(moment())} })(req, res, next);
else
next();
});
I have the warning message see bellow and after few minutes, the server is not reachable.
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 disconnect listeners added to [MySQLStore]. Use emitter.setMaxListeners() to increase limit
Could somebody explain me ? Thanks in advance.
If you put the route declaration BEFORE your session middleware, then the session will not be created for that specific route handler.
If you want to call the session dynamically the way you are in your code, then you should create the session middleware once and then call that dynamically: