mweibel / connect-session-sequelize

Sequelize SessionStore for Express/Connect

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Warning: a promise was created in a handler but was not returned from it

mpeltonen opened this issue · comments

I could not yet reproduce this with connect-session-sequelize-example, but in my project I get log full of these warnings as Bluebird promise somehow ends up in the promisify -function of connect-session-sequelize.

Warnings disappear if I return null from this then: https://github.com/mweibel/connect-session-sequelize/blob/v7.1.1/lib/connect-session-sequelize.js#L22

(node:41848) Warning: a promise was created in a handler at C:\Users\User\proyect\node_modules\express\lib\router\index.js:275:10 but was not returned from it, see http://goo.gl/rRqMUw
at Function.Promise.attempt.Promise.try (C:\Users\User\proyect\node_modules\bluebird\js\release\method.js:29:9)
at processImmediate (internal/timers.js:461:21)
From previous event:
at Function.update (C:\Users\User\proyect\node_modules\sequelize\lib\model.js:3097:23)
at SequelizeStore.touch (C:\Users\User\proyect\node_modules\connect-session-sequelize\lib\connect-session-sequelize.js:150:12)
at ServerResponse.end (C:\Users\User\proyect\node_modules\express-session\index.js:343:15)
at ServerResponse.send (C:\Users\User\proyect\node_modules\express\lib\response.js:221:10)
at ServerResponse.json (C:\Users\User\proyect\node_modules\express\lib\response.js:267:15)
at C:\Users\User\proyect\routes\index.js:14:7
at Layer.handle [as handle_request] (C:\Users\User\proyect\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\User\proyect\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\Users\User\proyect\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Users\User\proyect\node_modules\express\lib\router\layer.js:95:5)
at C:\Users\User\proyect\node_modules\express\lib\router\index.js:281:22
at Function.process_params (C:\Users\User\proyect\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\User\proyect\node_modules\express\lib\router\index.js:275:10)
at Function.handle (C:\Users\User\proyect\node_modules\express\lib\router\index.js:174:3)
at router (C:\Users\User\proyect\node_modules\express\lib\router\index.js:47:12)
at Layer.handle [as handle_request] (C:\Users\User\proyect\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\Users\User\proyect\node_modules\express\lib\router\index.js:317:13)
at C:\Users\User\proyect\node_modules\express\lib\router\index.js:284:7
at Function.process_params (C:\Users\User\proyect\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\User\proyect\node_modules\express\lib\router\index.js:275:10)
at urlencodedParser (C:\Users\User\proyect\node_modules\body-parser\lib\types\urlencoded.js:91:7)
From previous event:
at promisify (C:\Users\User\proyect\node_modules\connect-session-sequelize\lib\connect-session-sequelize.js:21:23)
at SequelizeStore.get (C:\Users\User\proyect\node_modules\connect-session-sequelize\lib\connect-session-sequelize.js:79:14)
at session (C:\Users\User\proyect\node_modules\express-session\index.js:481:11)
at Layer.handle [as handle_request] (C:\Users\User\proyect\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\Users\User\proyect\node_modules\express\lib\router\index.js:317:13)
at C:\Users\User\proyect\node_modules\express\lib\router\index.js:284:7
at Function.process_params (C:\Users\User\proyect\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\User\proyect\node_modules\express\lib\router\index.js:275:10)
at SessionStrategy.strategy.pass (C:\Users\User\proyect\node_modules\passport\lib\middleware\authenticate.js:343:9)
at SessionStrategy.authenticate (C:\Users\User\proyect\node_modules\passport\lib\strategies\session.js:75:10)
at attempt (C:\Users\User\proyect\node_modules\passport\lib\middleware\authenticate.js:366:16)
at authenticate (C:\Users\User\proyect\node_modules\passport\lib\middleware\authenticate.js:367:7)
at Layer.handle [as handle_request] (C:\Users\User\proyect\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\Users\User\proyect\node_modules\express\lib\router\index.js:317:13)
at C:\Users\User\proyect\node_modules\express\lib\router\index.js:284:7
at Function.process_params (C:\Users\User\proyect\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\User\proyect\node_modules\express\lib\router\index.js:275:10)
at initialize (C:\Users\User\proyect\node_modules\passport\lib\middleware\initialize.js:53:5)
at Layer.handle [as handle_request] (C:\Users\User\proyect\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\Users\User\proyect\node_modules\express\lib\router\index.js:317:13)
at C:\Users\User\proyect\node_modules\express\lib\router\index.js:284:7
at Function.process_params (C:\Users\User\proyect\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\User\proyect\node_modules\express\lib\router\index.js:275:10)
at expressInit (C:\Users\User\proyect\node_modules\express\lib\middleware\init.js:40:5)
at Layer.handle [as handle_request] (C:\Users\User\proyect\node_modules\express\lib\router\layer.js:95:5)
(node:41848) Warning: a promise was created in a handler at C:\Users\User\proyect\node_modules\express\lib\router\index.js:275:10 but was not returned from it, see http://goo.gl/rRqMUw
at Function.Promise.attempt.Promise.try (C:\Users\User\proyect\node_modules\bluebird\js\release\method.js:29:9)
at processImmediate (internal/timers.js:461:21)

`app.js
var path = require('path');
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');

var express = require('express');
var session = require('express-session');
require('dotenv').config({path:'.env'}).parsed;
var models = require("./models");
var passport = require('passport');

const db_sync = false;
const app = express();
const env = process.env;

if (db_sync)
models.sequelize.sync().then(() => {
console.log('DB OK');
}).catch(err => {
console.log("[DB] ERROR!!!", err);
});

app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));

const SequelizeStore = require("connect-session-sequelize")(session.Store);
const sessionStore = new SequelizeStore({db: models.sequelize});

app.use(cookieParser());
app.use(bodyParser.json({limit: '5mb', extended: true}))
app.use(bodyParser.urlencoded({limit: '1mb', extended: true, parameterLimit: 10000000}));
app.use(session({
secret: 'l0b0f3st!.',
store: sessionStore,
resave: false,
saveUninitialized:false,
checkExpirationInterval: 15 * 60 * 1000,
expiration: 60 * 60 * 1000
}));

sessionStore.sync();
app.use(passport.initialize());
app.use(passport.session());
passport.use(models.Usuarios.createStrategy());
passport.serializeUser(models.Usuarios.serializeUser(usuario => {}));
passport.deserializeUser(models.Usuarios.deserializeUser((cosa, done) => {console.log(cosa.red);}));

const api_Router = require('./routes/api');
const r404_route = require('./routes/404');
const menuRouter = require('./routes/menu');
const loginRouter = require('./routes/login');
const indexRouter = require('./routes/index');
const registrosRouter = require('./routes/registros');
const adminRouter = require('./routes/admin_route');
const expotalento_Router = require('./routes/expotalento');
const admin_expotalentoRouter = require('./routes/admin_expotalento_route');

app.use('/', indexRouter);
app.use(loginRouter);
app.use(registrosRouter);
app.use(menuRouter);
app.use(api_Router);
app.use(expotalento_Router);
app.use('/admin', adminRouter);
app.use('/admin_expotalento', admin_expotalentoRouter);
app.use(express.static(path.join(__dirname, 'public')));
app.use(function onError(err, req, res, next) {
console.error(err.stack);
if (req.xhr)
res.status(500).send({error: 'WebApp Error!'});
else {
res.statusCode = 500;
res.render(err);
next(err);
}
});
app.use(r404_route);

module.exports = app;`

//router/index.js`
const env = process.env;
const utils = require('../utils/utils');
const router = require('express').Router();
const Recaptcha = require('express-recaptcha').RecaptchaV2;
const RECAPTCHA_SITE_KEY = '';
const RECAPTCHA_SITE_SECRET = '
';

router.get('/', function(req, res, next) {
if (req.user)
res.redirect(utils.getRedirect(req.user.tipo));
else
res.render('pages/expotalento_login_view', {pageTitle: utils.title + 'Inicio de Sesión', captcha: RECAPTCHA_SITE_KEY});
res.json({status: 'OK'}).end();
});
module.exports = router;`

hi,

there's an example repo (documented in the README) which should be used to submit issues: https://github.com/mweibel/connect-session-sequelize-example

Please next time add a clear reproduction case with an example repository forked from my repository.

Closing for inactivity.