Socket IO using express session - socket.request.res undefined

I'm currently trying to implement session management using express 4.x and socket io 1.4, citing this answer . The problem is that the second argument to the express session function is a res (response) object that returns "undefined" in my route. Is this question obsolete or am I doing something wrong?

var http = require('http');

var session = require('express-session')(
{
  saveUninitialized : false,
  resave:false,
  secret:'secretstuff',
  cookie : {
    path : '/'
  }
}
);

var express = require('express');

var app = express();

app.use(session)

var http_server = http.createServer(app);

var io = require('./sockets')(http_server,session);

here is my sockets.js

var Server = require('socket.io');

module.exports = function(http_server, session)
{
   var io = new Server(http_server);

   io.use(function(socket,next){

      //socket.request.res === undefined
      session(socket.request, socket.request.res,next);
   })

}

where do i get

Not dig TypeError: res argument required

+6
source share
1 answer

sessionMiddleware() suggested in many sources, worked perfectly for me:

io.use(function(socket, next) {
    sessionMiddleware(socket.request, socket.request.res, next);
});

web socket.io-client <=> socket.io node.js server, socket.io-client-cpp socket.io-client-cpp - socket.io-client-cpp :

TypeError: argument res is required

sessionMiddleware(). socket.request.res :

{}. , , - , socket.request.res:

io.use(function(socket, next) {
    sessionMiddleware(socket.request, socket.request.res || {}, next);
});

!

0

Source: https://habr.com/ru/post/1652504/


All Articles