mirror of
https://github.com/JasonYANG170/IOTConnect-Web.git
synced 2024-11-27 14:16:34 +00:00
30 lines
611 B
JavaScript
30 lines
611 B
JavaScript
|
'use strict'
|
||
|
|
||
|
var WebSocketServer = require('ws').Server
|
||
|
var stream = require('./stream')
|
||
|
|
||
|
class Server extends WebSocketServer{
|
||
|
constructor(opts, cb) {
|
||
|
super(opts)
|
||
|
|
||
|
var proxied = false
|
||
|
this.on('newListener', function(event) {
|
||
|
if (!proxied && event === 'stream') {
|
||
|
proxied = true
|
||
|
this.on('connection', function(conn, req) {
|
||
|
this.emit('stream', stream(conn, opts), req)
|
||
|
})
|
||
|
}
|
||
|
})
|
||
|
|
||
|
if (cb) {
|
||
|
this.on('stream', cb)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports.Server = Server
|
||
|
module.exports.createServer = function(opts, cb) {
|
||
|
return new Server(opts, cb)
|
||
|
}
|