IGNITE-9555 Web Console: Fixed handling of unexpected message via web sockets.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7242e58e Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7242e58e Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7242e58e Branch: refs/heads/ignite-7251 Commit: 7242e58e38e6bd543db3bc382f0d40973d0f200d Parents: 838c41a Author: Alexey Kuznetsov <akuznet...@apache.org> Authored: Sun Sep 16 00:06:15 2018 +0700 Committer: Alexey Kuznetsov <akuznet...@apache.org> Committed: Sun Sep 16 00:06:15 2018 +0700 ---------------------------------------------------------------------- .../web-console/backend/app/browsersHandler.js | 28 +++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/7242e58e/modules/web-console/backend/app/browsersHandler.js ---------------------------------------------------------------------- diff --git a/modules/web-console/backend/app/browsersHandler.js b/modules/web-console/backend/app/browsersHandler.js index 3ae91da..d0cd112 100644 --- a/modules/web-console/backend/app/browsersHandler.js +++ b/modules/web-console/backend/app/browsersHandler.js @@ -204,11 +204,19 @@ module.exports = { nodeListeners(sock) { // Return command result from grid to browser. - sock.on('node:rest', ({clusterId, params, credentials} = {}, cb) => { - const demo = sock.request._query.IgniteDemoMode === 'true'; + sock.on('node:rest', (arg, cb) => { + const {clusterId, params, credentials} = arg || {}; + + if (!_.isFunction(cb)) + cb = console.log; + + const demo = _.get(sock, 'request._query.IgniteDemoMode') === 'true'; + + if ((_.isNil(clusterId) && !demo) || _.isNil(params)) { + console.log('Received invalid message: "node:rest" on socket:', JSON.stringify(sock.handshake)); - if ((_.isNil(clusterId) && !demo) || _.isNil(params)) return cb('Invalid format of message: "node:rest"'); + } const token = sock.request.user.token; @@ -237,11 +245,19 @@ module.exports = { this.registerVisorTask('toggleClusterState', internalVisor('misc.VisorChangeGridActiveStateTask'), internalVisor('misc.VisorChangeGridActiveStateTaskArg')); // Return command result from grid to browser. - sock.on('node:visor', ({clusterId, params, credentials} = {}, cb) => { - const demo = sock.request._query.IgniteDemoMode === 'true'; + sock.on('node:visor', (arg, cb) => { + const {clusterId, params, credentials} = arg || {}; + + if (!_.isFunction(cb)) + cb = console.log; + + const demo = _.get(sock, 'request._query.IgniteDemoMode') === 'true'; + + if ((_.isNil(clusterId) && !demo) || _.isNil(params)) { + console.log('Received invalid message: "node:visor" on socket:', JSON.stringify(sock.handshake)); - if ((_.isNil(clusterId) && !demo) || _.isNil(params)) return cb('Invalid format of message: "node:visor"'); + } const token = sock.request.user.token;