const util = require('util'); var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); var bodyParser = require('body-parser'); var session = require('express-session')({ secret: 'fUZG4VjOx9U91Htq2AAA', cookie: { maxAge: 60000 }, saveUninitialized: true, resave: false}); var sharedsession = require("express-socket.io-session"); var loginController = require('./controllers/login-controller.js'); app.set('view engine', 'ejs'); app.use(bodyParser.json()); // support json encoded bodies app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies app.use(session); var xss = require("xss"); io.use(sharedsession(session, { autoSave:true })); app.get('/', function(req, res){ if(req.session.authStatus) res.render('index'); else res.redirect('/login'); }).get('/login', function(req, res){ res.render('login'); }).post('/login', loginController, function(req, res){ res.send(''+req.session.authMessage+'
HOME'); }); io.on('connection', function(socket){ if(socket.handshake.session.authStatus) { socket.on('chat message', function(msg){ var s = ((socket.handshake.session.authMessage=='AUTH WITHOUT REG OK')?"*":""); io.emit('chat message', ""+s+socket.handshake.session.userName+" : "+xss(msg)); }); } }); http.listen(3000, function(){ console.log('listening on *:3000'); });