2017-07-24 1 views
0

Je développe une application en utilisant express et je crée une fonction qui définit un cookie de langue:middleware express plusieurs appels

[..] 
app.use(cookieParser()); 
app.use(function(req, res, next) { 
    if(req.cookies.lang === undefined){ 
     console.log(req.cookies); 
    } 
    next(); 
}); 
app.use(express.static(path.join(__dirname, 'public'))); 
[..] 

Tout fonctionne très bien, mais en utilisant nodemon j'ai remarqué que cette fonction est appelée plusieurs fois quand je faire une demande et je ne sais pas si c'est un comportement voulu ou si je fais des erreurs.

C'est le journal de la console:

[nodemon] starting `node ./bin/www` 
Connected to database 
{ 'connect.sid': 's:NeNC-uUnHtrdlqkSI7GkbMQ6IAhwo2It.tD8Ei9k6XtPn2/4Da2AVJIjoRlK4zkWiltsdgL58Dak' } 
GET /signup 304 516.356 ms - - 
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' } 
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' } 
GET /css/bootstrap.min.css 304 3.662 ms - - 
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' } 
GET /css/tooltipster.bundle.min.css 304 5.445 ms - - 
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' } 
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' } 
GET /css/tooltipster-sideTip-light.min.css 304 9.551 ms - - 
GET /css/app.min.css 304 8.440 ms - - 
{ 'connect.sid': 's:id5VQwMWKzVC5ycpR6brH5YQQpbEe9Au.brQxxrNtniBmYL1swH2WRApDSyBLJk4qlEc4+8oQ9T4' } 
GET /js/vendor/tooltipster.bundle.min.js 304 7.714 ms - - 
GET /js/app.js 304 2.261 ms - - 

Quelqu'un peut-il me illuminera? Je suis curieux.

Répondre

0

Hmm - il semble qu'il y ait 7 logs et 7 requêtes, ce qui me fait penser qu'il y a une condition de concurrence entre le moment où l'itinéraire est enregistré et celui où req.cookies est enregistré. Je pense que tu vas bien.

+0

Une "caractéristique" de l'enregistreur? –

+0

Je le crois :) C'est ma meilleure estimation de toute façon puisque les chiffres correspondent – Hacknightly

+1

Ouais, peut-être. Au moins le déplacer sous session express a résolu le problème: D –