Initial commit
This commit is contained in:
54
node_modules/wss/index.js
generated
vendored
Normal file
54
node_modules/wss/index.js
generated
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
const {Server} = require('ws')
|
||||
|
||||
Server.prototype.listening = false
|
||||
Server.prototype.listen = function (...args) {
|
||||
return this._server
|
||||
.listen(...args)
|
||||
.once('listening', () => {
|
||||
this.listening = true
|
||||
})
|
||||
}
|
||||
Server.prototype.close = function (fn = Function.prototype) {
|
||||
if (this.clients) {
|
||||
for (const client of this.clients) client.terminate()
|
||||
}
|
||||
this._ultron.destroy()
|
||||
this._ultron = null
|
||||
return this._server.close((...args) => {
|
||||
this.listening = false
|
||||
fn(...args)
|
||||
})
|
||||
}
|
||||
module.exports = Server // v 1
|
||||
module.exports.createServerFrom = createServerFrom
|
||||
module.exports.createServer = createServer
|
||||
function createServerFrom (server, connectionListener, options = {}) {
|
||||
if (typeof server === 'undefined') throw new Error('must provide server')
|
||||
const wss = new Server(Object.assign(options, {server}))
|
||||
return connectionListener
|
||||
? wss.on('connection', connectionListener)
|
||||
: wss
|
||||
}
|
||||
|
||||
function createServer (options = {}, connectionListener) {
|
||||
if (typeof options === 'function') {
|
||||
connectionListener = options
|
||||
options = {}
|
||||
}
|
||||
const server = createServerFor(options)
|
||||
return createServerFrom(server, connectionListener) // v 2
|
||||
function createServerFor (options) {
|
||||
return options.key && options.cert || options.pfx
|
||||
? require('https').createServer(options, requestListener)
|
||||
: require('http').createServer(requestListener)
|
||||
}
|
||||
|
||||
function requestListener (req, res) {
|
||||
const {STATUS_CODES: {'426': status}} = require('http')
|
||||
res.writeHead(426, {
|
||||
'content-length': status.length,
|
||||
'content-type': 'text/plain'
|
||||
})
|
||||
res.end(status)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user