parent
88c61f0895
commit
4fcdc4166a
10
package.json
10
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@uci/websocket",
|
||||
"version": "0.3.9",
|
||||
"version": "0.3.10",
|
||||
"description": "JSON packet host websocket server",
|
||||
"main": "src",
|
||||
"scripts": {
|
||||
|
@ -33,15 +33,15 @@
|
|||
"chai": "^4.2.0",
|
||||
"chai-as-promised": "^7.1.1",
|
||||
"esm": "^3.2.25",
|
||||
"mocha": "^6.2.0",
|
||||
"nodemon": "^1.19.1"
|
||||
"mocha": "^6.2.2",
|
||||
"nodemon": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@uci-utils/logger": "0.0.15",
|
||||
"@uci-utils/logger": "0.0.16",
|
||||
"await-to-js": "^2.1.1",
|
||||
"better-try-catch": "^0.6.2",
|
||||
"clone": "^2.1.2",
|
||||
"death": "^1.1.0",
|
||||
"ws": "^7.1.2"
|
||||
"ws": "^7.2.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ class Socket extends Server {
|
|||
this._authenticate = this._authenticate.bind(this)
|
||||
this.close = promisify(this.close).bind(this)
|
||||
log = logger({
|
||||
package:'@uci/websocket',
|
||||
file: 'src/socket.js',
|
||||
class: 'Socket',
|
||||
name: 'websocket',
|
||||
|
@ -48,6 +49,8 @@ class Socket extends Server {
|
|||
})
|
||||
} // end constructor
|
||||
|
||||
get active() { return this.listening }
|
||||
|
||||
/**
|
||||
* create - Description
|
||||
*
|
||||
|
@ -78,12 +81,19 @@ class Socket extends Server {
|
|||
this.on('error', err => {
|
||||
this.errorCount +=1 // log errors here
|
||||
this.errors.push(err)
|
||||
if(this.errorCount>2) this.emit('warn', {msg:'something bad maybe going on, 3 errors', errors:this.errors})
|
||||
if(this.errorCount>5) this.emit('fatal', {msg:'something fatal is going on, 6 errors', errors:this.errors})
|
||||
if(this.errorCount>2) this.emit('status', {level:'warn',msg:'something bad maybe going on, 3 errors', errors:this.errors})
|
||||
if(this.errorCount>5) {
|
||||
let errors = {level:'fatal',msg:'something fatal is going on, 6 errors', errors:this.errors}
|
||||
log.fatal(errors)
|
||||
this.listening=false
|
||||
this.emit('status', {active:this.active})
|
||||
this.emit('status', errors)
|
||||
}
|
||||
})
|
||||
this.wss = new WSS({server:this})
|
||||
this.wss.on('error', err => {this.emit('error', err)}) // bubble up errors
|
||||
this.wss.on('connection', this._connectionHandler.bind(this))
|
||||
this.emit('status',{active:this.active})
|
||||
resolve(`websocket ready and listening at ${this.address().address}:${this.address().port}`)
|
||||
})
|
||||
super.listen(this.opts)
|
||||
|
@ -189,7 +199,7 @@ class Socket extends Server {
|
|||
}
|
||||
else {
|
||||
log.info({msg:'consumer authenticated successfuly', consumer:consumer.name, consumer_id:consumer.id})
|
||||
if (this.allowAnonymous) log.warn({msg:'consumer connected anonymously', consumer:consumer.name, consumer_id:consumer.id})
|
||||
if (this.allowAnonymous) log.warn({msg:'web consumer connected anonymously', consumer:consumer.name, consumer_id:consumer.id})
|
||||
resolve(consumer.authenticated)
|
||||
}
|
||||
}
|
||||
|
@ -265,7 +275,7 @@ class Socket extends Server {
|
|||
res = { error: 'Could not JSON parse packet', packet:strPacket }
|
||||
}
|
||||
else {
|
||||
log.warn({method:'_listen', line:266, packet:packet, msg:'parsed packet'})
|
||||
log.debug({method:'_listen', line:266, packet:packet, msg:'parsed packet'})
|
||||
res = (await this._packetProcess(clone(packet))) || {}
|
||||
if (Object.keys(res).length === 0)
|
||||
res = {
|
||||
|
|
Loading…
Reference in New Issue