upgrade ws to 7.1.2 (#70)

This commit is contained in:
Dave Holoway
2019-08-18 16:01:06 +01:00
committed by GitHub
parent 1a00cdb291
commit b04e4328a6
3 changed files with 24 additions and 22 deletions

24
package-lock.json generated
View File

@@ -199,6 +199,11 @@
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
"dev": true "dev": true
}, },
"async-limiter": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
},
"asynckit": { "asynckit": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@@ -1693,11 +1698,6 @@
"wordwrap": "~1.0.0" "wordwrap": "~1.0.0"
} }
}, },
"options": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
"integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8="
},
"ordered-read-streams": { "ordered-read-streams": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
@@ -2313,11 +2313,6 @@
"integrity": "sha512-jw7P2z/h6aPT4AENXDGjcfHTu5CSqzsbZc6YlUIebTyBAq8XaKp78x7VcSh30xwSCcsu5irZkYZUSFP1MrAMbg==", "integrity": "sha512-jw7P2z/h6aPT4AENXDGjcfHTu5CSqzsbZc6YlUIebTyBAq8XaKp78x7VcSh30xwSCcsu5irZkYZUSFP1MrAMbg==",
"dev": true "dev": true
}, },
"ultron": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
"integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po="
},
"unc-path-regex": { "unc-path-regex": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
@@ -2654,12 +2649,11 @@
} }
}, },
"ws": { "ws": {
"version": "1.1.5", "version": "7.1.2",
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz",
"integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "integrity": "sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==",
"requires": { "requires": {
"options": ">=0.0.5", "async-limiter": "^1.0.0"
"ultron": "1.0.x"
} }
}, },
"xmldom": { "xmldom": {

View File

@@ -139,7 +139,7 @@
"uuid": "^3.3.2", "uuid": "^3.3.2",
"vscode-debugadapter": "^1.32.0", "vscode-debugadapter": "^1.32.0",
"vscode-debugprotocol": "^1.32.0", "vscode-debugprotocol": "^1.32.0",
"ws": "^1.1.1", "ws": "^7.1.2",
"xmldom": "^0.1.27", "xmldom": "^0.1.27",
"xpath": "^0.0.27" "xpath": "^0.0.27"
}, },

View File

@@ -77,8 +77,11 @@ class LogcatContent {
}); });
} }
sendClientMessage(msg) { sendClientMessage(msg) {
var clients = LogcatContent._wss.clients.filter(client => client._logcatid === this._logcatid); LogcatContent._wss.clients.forEach(client => {
clients.forEach(client => client.send(msg+'\n')); // include a newline to try and persuade a buffer write if (client._logcatid === this._logcatid) {
client.send(msg + '\n'); // include a newline to try and persuade a buffer write
}
})
} }
sendDisconnectMsg() { sendDisconnectMsg() {
this.sendClientMessage(':disconnect'); this.sendClientMessage(':disconnect');
@@ -111,7 +114,7 @@ class LogcatContent {
} }
updateLogs() { updateLogs() {
// no point in formatting the data if there are no connected clients // no point in formatting the data if there are no connected clients
var clients = LogcatContent._wss.clients.filter(client => client._logcatid === this._logcatid); var clients = [...LogcatContent._wss.clients].filter(client => client._logcatid === this._logcatid);
if (clients.length) { if (clients.length) {
var lines = '<div class="logblock">' + this._htmllogs.join('') + '</div>'; var lines = '<div class="logblock">' + this._htmllogs.join('') + '</div>';
clients.forEach(client => client.send(lines)); clients.forEach(client => client.send(lines));
@@ -187,14 +190,19 @@ LogcatContent.initWebSocketServer = function () {
port: wssport, port: wssport,
retries: 0, retries: 0,
tryCreateWSS() { tryCreateWSS() {
this.wss = new WebSocketServer({ host: '127.0.0.1', port: this.port }, () => { const wsopts = {
host: '127.0.0.1',
port: this.port,
clientTracking: true,
};
this.wss = new WebSocketServer(wsopts, () => {
// success - save the info and resolve the deferred // success - save the info and resolve the deferred
LogcatContent._wssport = this.port; LogcatContent._wssport = this.port;
LogcatContent._wssstartport = this.startport; LogcatContent._wssstartport = this.startport;
LogcatContent._wss = this.wss; LogcatContent._wss = this.wss;
this.wss.on('connection', client => { this.wss.on('connection', (client, req) => {
// the client uses the url path to signify which logcat data it wants // the client uses the url path to signify which logcat data it wants
client._logcatid = client.upgradeReq.url.match(/^\/?(.*)$/)[1]; client._logcatid = req.url.match(/^\/?(.*)$/)[1];
var lc = LogcatContent.byLogcatID[client._logcatid]; var lc = LogcatContent.byLogcatID[client._logcatid];
if (lc) lc.onClientConnect(client); if (lc) lc.onClientConnect(client);
else client.close(); else client.close();