+15
-6
| 'use strict'; | ||
| const createWebSocketStream = require('./lib/stream'); | ||
| const extension = require('./lib/extension'); | ||
| const PerMessageDeflate = require('./lib/permessage-deflate'); | ||
| const Receiver = require('./lib/receiver'); | ||
| const Sender = require('./lib/sender'); | ||
| const subprotocol = require('./lib/subprotocol'); | ||
| const WebSocket = require('./lib/websocket'); | ||
| const WebSocketServer = require('./lib/websocket-server'); | ||
| WebSocket.createWebSocketStream = require('./lib/stream'); | ||
| WebSocket.Server = require('./lib/websocket-server'); | ||
| WebSocket.Receiver = require('./lib/receiver'); | ||
| WebSocket.Sender = require('./lib/sender'); | ||
| WebSocket.createWebSocketStream = createWebSocketStream; | ||
| WebSocket.extension = extension; | ||
| WebSocket.PerMessageDeflate = PerMessageDeflate; | ||
| WebSocket.Receiver = Receiver; | ||
| WebSocket.Sender = Sender; | ||
| WebSocket.Server = WebSocketServer; | ||
| WebSocket.subprotocol = subprotocol; | ||
| WebSocket.WebSocket = WebSocket; | ||
| WebSocket.WebSocketServer = WebSocket.Server; | ||
| WebSocket.WebSocketServer = WebSocketServer; | ||
| module.exports = WebSocket; |
@@ -40,2 +40,5 @@ 'use strict'; | ||
| * calls to zlib | ||
| * @param {Boolean} [options.isServer=false] Create the instance in either | ||
| * server or client mode | ||
| * @param {Number} [options.maxPayload=0] The maximum allowed message length | ||
| * @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the | ||
@@ -51,12 +54,9 @@ * use of a custom server window size | ||
| * inflate | ||
| * @param {Boolean} [isServer=false] Create the instance in either server or | ||
| * client mode | ||
| * @param {Number} [maxPayload=0] The maximum allowed message length | ||
| */ | ||
| constructor(options, isServer, maxPayload) { | ||
| this._maxPayload = maxPayload | 0; | ||
| constructor(options) { | ||
| this._options = options || {}; | ||
| this._threshold = | ||
| this._options.threshold !== undefined ? this._options.threshold : 1024; | ||
| this._isServer = !!isServer; | ||
| this._maxPayload = this._options.maxPayload | 0; | ||
| this._isServer = !!this._options.isServer; | ||
| this._deflate = null; | ||
@@ -63,0 +63,0 @@ this._inflate = null; |
@@ -296,7 +296,7 @@ /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^Duplex$", "caughtErrors": "none" }] */ | ||
| ) { | ||
| const perMessageDeflate = new PerMessageDeflate( | ||
| this.options.perMessageDeflate, | ||
| true, | ||
| this.options.maxPayload | ||
| ); | ||
| const perMessageDeflate = new PerMessageDeflate({ | ||
| ...this.options.perMessageDeflate, | ||
| isServer: true, | ||
| maxPayload: this.options.maxPayload | ||
| }); | ||
@@ -303,0 +303,0 @@ try { |
+6
-6
@@ -696,3 +696,3 @@ /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^Duplex|Readable$", "caughtErrors": "none" }] */ | ||
| parsedUrl = new URL(address); | ||
| } catch (e) { | ||
| } catch { | ||
| throw new SyntaxError(`Invalid URL: ${address}`); | ||
@@ -759,7 +759,7 @@ } | ||
| if (opts.perMessageDeflate) { | ||
| perMessageDeflate = new PerMessageDeflate( | ||
| opts.perMessageDeflate !== true ? opts.perMessageDeflate : {}, | ||
| false, | ||
| opts.maxPayload | ||
| ); | ||
| perMessageDeflate = new PerMessageDeflate({ | ||
| ...opts.perMessageDeflate, | ||
| isServer: false, | ||
| maxPayload: opts.maxPayload | ||
| }); | ||
| opts.headers['Sec-WebSocket-Extensions'] = format({ | ||
@@ -766,0 +766,0 @@ [PerMessageDeflate.extensionName]: perMessageDeflate.offer() |
+4
-3
| { | ||
| "name": "ws", | ||
| "version": "8.19.0", | ||
| "version": "8.20.0", | ||
| "description": "Simple to use, blazing fast and thoroughly tested websocket client and server for Node.js", | ||
@@ -58,8 +58,9 @@ "keywords": [ | ||
| "devDependencies": { | ||
| "@eslint/js": "^10.0.1", | ||
| "benchmark": "^2.1.4", | ||
| "bufferutil": "^4.0.1", | ||
| "eslint": "^9.0.0", | ||
| "eslint": "^10.0.1", | ||
| "eslint-config-prettier": "^10.0.1", | ||
| "eslint-plugin-prettier": "^5.0.0", | ||
| "globals": "^16.0.0", | ||
| "globals": "^17.0.0", | ||
| "mocha": "^8.4.0", | ||
@@ -66,0 +67,0 @@ "nyc": "^15.0.0", |
+14
-1
| import createWebSocketStream from './lib/stream.js'; | ||
| import extension from './lib/extension.js'; | ||
| import PerMessageDeflate from './lib/permessage-deflate.js'; | ||
| import Receiver from './lib/receiver.js'; | ||
| import Sender from './lib/sender.js'; | ||
| import subprotocol from './lib/subprotocol.js'; | ||
| import WebSocket from './lib/websocket.js'; | ||
| import WebSocketServer from './lib/websocket-server.js'; | ||
| export { createWebSocketStream, Receiver, Sender, WebSocket, WebSocketServer }; | ||
| export { | ||
| createWebSocketStream, | ||
| extension, | ||
| PerMessageDeflate, | ||
| Receiver, | ||
| Sender, | ||
| subprotocol, | ||
| WebSocket, | ||
| WebSocketServer | ||
| }; | ||
| export default WebSocket; |
Network access
Supply chain riskThis module accesses the network.
Found 4 instances in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 4 instances in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
148540
0.47%4271
0.52%11
10%24
4.35%