test for snyk

This commit is contained in:
Josh Burman 2019-03-14 18:54:19 -04:00
parent 2133371677
commit 8bc111d9fa
3 changed files with 45 additions and 29 deletions

View File

@ -0,0 +1,11 @@
module.exports = {
clientExists: function (id: number) {
for (let client of this.clients) {
if (client.id == id) {
return client;
}
}
return null;
}
}

View File

@ -5,12 +5,10 @@ var path = require('path');
var logPath = './logs/';
const tsFormat = () => (new Date().toISOString());
const logFormat = format.combine(format.timestamp(), format.json())
const errorLog = createLogger({
format: format.combine(
format.timestamp(),
format.json()
),
format: logFormat,
transports: [
new transports.File({
filename: path.join(logPath, 'errors.log'),
@ -21,10 +19,7 @@ const errorLog = createLogger({
});
const accessLog = createLogger({
format: format.combine(
format.timestamp(),
format.json()
),
format: logFormat,
transports: [
new transports.File({
filename: path.join(logPath, 'access.log'),

View File

@ -29,7 +29,7 @@ application.use('', routes);
let clientManager = new ClientManager();
let channelManager = new ChannelManager();
function startServer() {
function connectionListener() {
wss.on('connection', (ws: WebSocket, request: object, args: string) => {
var data = JSON.parse(args).data
logger.accessLog.info(`Client Connected: ${data.user_id}`);
@ -54,48 +54,58 @@ function startServer() {
ws.send('Hi there, welcome to braid, Measures Web Socket server.\nConnecting all our services!');
});
}
function verifyConnection(request: any) {
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: string;
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');
});
});
}
function serverUpgrade() {
server.on('upgrade', async function upgrade(request, socket, head) {
let args: {};
try {
args = await verifyConnection()
args = await verifyConnection(request);
} 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: string;
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);
});
});
}
function listenForConnection() {
server.listen(app.port, () => {
console.log(`Braid v${app.version} is running!\n`);
logger.accessLog.info(`Braid v${app.version} is running!\n`);
});
}
function startServer() {
connectionListener();
serverUpgrade();
listenForConnection();
}
startServer();
module.exports = {