mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-05-05 06:37:10 -04:00
factored out socket.io setup
This commit is contained in:
parent
08040e7444
commit
98f11bea6d
1 changed files with 42 additions and 38 deletions
|
@ -140,6 +140,47 @@ function checkPadName(padManager, req, res, callback){
|
||||||
return res.send("Such a padname is forbidden", 404);
|
return res.send("Such a padname is forbidden", 404);
|
||||||
return callback();
|
return callback();
|
||||||
}
|
}
|
||||||
|
function setupIo(socketio, log4js, settings, socketIORouter, app){
|
||||||
|
//init socket.io and redirect all requests to the MessageHandler
|
||||||
|
var io = socketio.listen(app);
|
||||||
|
|
||||||
|
//this is only a workaround to ensure it works with all browers behind a proxy
|
||||||
|
//we should remove this when the new socket.io version is more stable
|
||||||
|
io.set('transports', ['xhr-polling']);
|
||||||
|
|
||||||
|
var socketIOLogger = log4js.getLogger("socket.io");
|
||||||
|
io.set('logger', {
|
||||||
|
debug: function (str)
|
||||||
|
{
|
||||||
|
socketIOLogger.debug.apply(socketIOLogger, arguments);
|
||||||
|
},
|
||||||
|
info: function (str)
|
||||||
|
{
|
||||||
|
socketIOLogger.info.apply(socketIOLogger, arguments);
|
||||||
|
},
|
||||||
|
warn: function (str)
|
||||||
|
{
|
||||||
|
socketIOLogger.warn.apply(socketIOLogger, arguments);
|
||||||
|
},
|
||||||
|
error: function (str)
|
||||||
|
{
|
||||||
|
socketIOLogger.error.apply(socketIOLogger, arguments);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
//minify socket.io javascript
|
||||||
|
if(settings.minify)
|
||||||
|
io.enable('browser client minification');
|
||||||
|
|
||||||
|
var padMessageHandler = require("./handler/PadMessageHandler");
|
||||||
|
var timesliderMessageHandler = require("./handler/TimesliderMessageHandler");
|
||||||
|
|
||||||
|
//Initalize the Socket.IO Router
|
||||||
|
socketIORouter.setSocketIO(io);
|
||||||
|
socketIORouter.addComponent("pad", padMessageHandler);
|
||||||
|
socketIORouter.addComponent("timeslider", timesliderMessageHandler);
|
||||||
|
return io;
|
||||||
|
}
|
||||||
async.waterfall([
|
async.waterfall([
|
||||||
//initalize the database
|
//initalize the database
|
||||||
setupDb,
|
setupDb,
|
||||||
|
@ -529,44 +570,7 @@ async.waterfall([
|
||||||
|
|
||||||
process.on('uncaughtException', gracefulShutdown);
|
process.on('uncaughtException', gracefulShutdown);
|
||||||
|
|
||||||
//init socket.io and redirect all requests to the MessageHandler
|
var io = setupIo(socketio, log4js, settings, socketIORouter, app);
|
||||||
var io = socketio.listen(app);
|
|
||||||
|
|
||||||
//this is only a workaround to ensure it works with all browers behind a proxy
|
|
||||||
//we should remove this when the new socket.io version is more stable
|
|
||||||
io.set('transports', ['xhr-polling']);
|
|
||||||
|
|
||||||
var socketIOLogger = log4js.getLogger("socket.io");
|
|
||||||
io.set('logger', {
|
|
||||||
debug: function (str)
|
|
||||||
{
|
|
||||||
socketIOLogger.debug.apply(socketIOLogger, arguments);
|
|
||||||
},
|
|
||||||
info: function (str)
|
|
||||||
{
|
|
||||||
socketIOLogger.info.apply(socketIOLogger, arguments);
|
|
||||||
},
|
|
||||||
warn: function (str)
|
|
||||||
{
|
|
||||||
socketIOLogger.warn.apply(socketIOLogger, arguments);
|
|
||||||
},
|
|
||||||
error: function (str)
|
|
||||||
{
|
|
||||||
socketIOLogger.error.apply(socketIOLogger, arguments);
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
//minify socket.io javascript
|
|
||||||
if(settings.minify)
|
|
||||||
io.enable('browser client minification');
|
|
||||||
|
|
||||||
var padMessageHandler = require("./handler/PadMessageHandler");
|
|
||||||
var timesliderMessageHandler = require("./handler/TimesliderMessageHandler");
|
|
||||||
|
|
||||||
//Initalize the Socket.IO Router
|
|
||||||
socketIORouter.setSocketIO(io);
|
|
||||||
socketIORouter.addComponent("pad", padMessageHandler);
|
|
||||||
socketIORouter.addComponent("timeslider", timesliderMessageHandler);
|
|
||||||
|
|
||||||
callback(null);
|
callback(null);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue