unit tests, and some cleaning up
This commit is contained in:
107
dist/server/server.js
vendored
Executable file → Normal file
107
dist/server/server.js
vendored
Executable file → Normal file
@ -31,60 +31,67 @@ application.use(express.json());
|
||||
application.use('', routes);
|
||||
let clientManager = new clientManager_1.default();
|
||||
let channelManager = new channelManager_1.default();
|
||||
wss.on('connection', (ws, request, args) => {
|
||||
var data = JSON.parse(args).data;
|
||||
logger.accessLog.info(`Client Connected: ${data.user_id}`);
|
||||
if (!channelManager.channelExists(data.channel)) {
|
||||
channelManager.createChannel(data);
|
||||
}
|
||||
if (clientManager.clientExists(data.user_id)) {
|
||||
var client = clientManager.getClient(data.user_id);
|
||||
function startServer() {
|
||||
wss.on('connection', (ws, request, args) => {
|
||||
var data = JSON.parse(args).data;
|
||||
logger.accessLog.info(`Client Connected: ${data.user_id}`);
|
||||
if (!channelManager.channelExists(data.channel)) {
|
||||
channelManager.createChannel(data);
|
||||
}
|
||||
if (clientManager.clientExists(data.user_id)) {
|
||||
var client = clientManager.getClient(data.user_id);
|
||||
if (client != null) {
|
||||
client.replaceWebSocket(ws);
|
||||
}
|
||||
}
|
||||
else {
|
||||
var client = clientManager.addClient(data, ws);
|
||||
}
|
||||
if (client != null) {
|
||||
client.replaceWebSocket(ws);
|
||||
channelManager.addClientToChannel(client, data.channel);
|
||||
}
|
||||
}
|
||||
else {
|
||||
var client = clientManager.addClient(data, ws);
|
||||
}
|
||||
if (client != null) {
|
||||
channelManager.addClientToChannel(client, data.channel);
|
||||
}
|
||||
ws.send('Hi there, welcome to braid, Measures Web Socket server.\nConnecting all our services!');
|
||||
});
|
||||
server.on('upgrade', function upgrade(request, socket, head) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
let args;
|
||||
try {
|
||||
args = yield verifyConnection();
|
||||
}
|
||||
catch (e) {
|
||||
socket.destroy();
|
||||
logger.accessLog.info('Connection Terminated');
|
||||
return;
|
||||
}
|
||||
function verifyConnection() {
|
||||
return new Promise((resolve, reject) => {
|
||||
var data = url.parse(request.url, true).query;
|
||||
var token = data.token || (app.environment == 'development' ? app.devToken : '');
|
||||
var accepted = true;
|
||||
var result;
|
||||
jwt.verify(token, app.secret, app.signOptions, function (err, decoded) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
accepted = false;
|
||||
}
|
||||
result = JSON.stringify(decoded);
|
||||
accepted ? resolve(result) : reject('rejected');
|
||||
ws.send('Hi there, welcome to braid, Measures Web Socket server.\nConnecting all our services!');
|
||||
});
|
||||
server.on('upgrade', function upgrade(request, socket, head) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
let args;
|
||||
try {
|
||||
args = yield verifyConnection();
|
||||
}
|
||||
catch (e) {
|
||||
socket.destroy();
|
||||
logger.accessLog.info('Connection Terminated');
|
||||
return;
|
||||
}
|
||||
function verifyConnection() {
|
||||
return new Promise((resolve, reject) => {
|
||||
var data = url.parse(request.url, true).query;
|
||||
var token = data.token || (app.environment == 'development' ? app.devToken : '');
|
||||
var accepted = true;
|
||||
var result;
|
||||
jwt.verify(token, app.secret, app.signOptions, function (err, decoded) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
accepted = false;
|
||||
}
|
||||
result = JSON.stringify(decoded);
|
||||
accepted ? resolve(result) : reject('rejected');
|
||||
});
|
||||
});
|
||||
}
|
||||
wss.handleUpgrade(request, socket, head, function done(ws) {
|
||||
wss.emit('connection', ws, request, args);
|
||||
});
|
||||
}
|
||||
wss.handleUpgrade(request, socket, head, function done(ws) {
|
||||
wss.emit('connection', ws, request, args);
|
||||
});
|
||||
});
|
||||
});
|
||||
server.listen(app.port, () => {
|
||||
console.log(`Braid v${app.version} is running!\n`);
|
||||
logger.accessLog.info(`Braid v${app.version} is running!\n`);
|
||||
});
|
||||
server.listen(app.port, () => {
|
||||
console.log(`Braid v${app.version} is running!\n`);
|
||||
logger.accessLog.info(`Braid v${app.version} is running!\n`);
|
||||
});
|
||||
}
|
||||
startServer();
|
||||
module.exports = {
|
||||
clientManager: clientManager,
|
||||
channelManager: channelManager
|
||||
};
|
||||
//# sourceMappingURL=server.js.map
|
Reference in New Issue
Block a user