* feat(assist): splitted socket methods in ee/websockets * feat(assist): splitted socket methods in ee/websockets-cluster * feat(assist): moved socket handlers to separate file * feat(assist): changed the way how to get ws server * feat(assist): use method to get io server instead of global object * feat(assist): removed duplicated code from ee assists * feat(assist): removed copy-paste http handlers * feat(assist): added getServer call for some http handlers * feat(assist): added creds=true to cors settings * feat(backend): added debug log flag to assist stats
44 lines
No EOL
1.1 KiB
JavaScript
44 lines
No EOL
1.1 KiB
JavaScript
const _io = require("socket.io");
|
|
const {getCompressionConfig} = require("./helper");
|
|
|
|
let io;
|
|
|
|
const getServer = function () {
|
|
return io;
|
|
}
|
|
|
|
const createSocketIOServer = function (server, prefix) {
|
|
if (io) {
|
|
return io;
|
|
}
|
|
if (process.env.uws !== "true") {
|
|
io = _io(server, {
|
|
maxHttpBufferSize: (parseFloat(process.env.maxHttpBufferSize) || 5) * 1e6,
|
|
cors: {
|
|
origin: "*",
|
|
methods: ["GET", "POST", "PUT"],
|
|
credentials: true
|
|
},
|
|
path: (prefix ? prefix : '') + '/socket',
|
|
...getCompressionConfig()
|
|
});
|
|
} else {
|
|
io = new _io.Server({
|
|
maxHttpBufferSize: (parseFloat(process.env.maxHttpBufferSize) || 5) * 1e6,
|
|
cors: {
|
|
origin: "*",
|
|
methods: ["GET", "POST", "PUT"],
|
|
credentials: true
|
|
},
|
|
path: (prefix ? prefix : '') + '/socket',
|
|
...getCompressionConfig()
|
|
});
|
|
io.attachApp(server);
|
|
}
|
|
return io;
|
|
}
|
|
|
|
module.exports = {
|
|
createSocketIOServer,
|
|
getServer,
|
|
} |