From c5bb006b1b5d0e9b3e05fd28580ae6b84a05df7d Mon Sep 17 00:00:00 2001 From: Adler Parnas Date: Mon, 29 Jun 2015 20:40:06 -0400 Subject: [PATCH 1/5] Update handlers.js Fixed arguments array passed to the registered rpc --- lib/handlers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/handlers.js b/lib/handlers.js index 50c6fa8..ee034cb 100644 --- a/lib/handlers.js +++ b/lib/handlers.js @@ -85,7 +85,7 @@ handlers[WAMP.CALL] = function (session, args) { var callId = args.shift(); var options = args.shift(); var procUri = args.shift(); - args = args || []; + args = args.shift() || []; var resultCallback = function(err, args) { if (err) { var msg = [ From cc0dd4907e6eff6f5bfd39eabf120d7066d8829f Mon Sep 17 00:00:00 2001 From: Adler Parnas Date: Mon, 29 Jun 2015 20:41:20 -0400 Subject: [PATCH 2/5] Update router.js Fixed array passed to the function --- lib/router.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/router.js b/lib/router.js index 3257148..4f90955 100644 --- a/lib/router.js +++ b/lib/router.js @@ -81,7 +81,8 @@ function Router(options) { if (typeof this.getrpc(uri) !== 'undefined') { var invId = tools.randomId(); _pending[invId] = callback; - this.getrpc(uri).apply(this ,[invId, args]); + args.unshift(invId); + this.getrpc(uri).apply(this ,args); return true; } else { return false; From c0c74b3b59b799a9363e94240437227f8e217c2d Mon Sep 17 00:00:00 2001 From: Adler Parnas Date: Thu, 10 Sep 2015 01:23:24 -0400 Subject: [PATCH 3/5] Update handlers.js Passing session to the RPC function --- lib/handlers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/handlers.js b/lib/handlers.js index ee034cb..8507062 100644 --- a/lib/handlers.js +++ b/lib/handlers.js @@ -109,7 +109,7 @@ handlers[WAMP.CALL] = function (session, args) { session.send(msg); } }; - if (!this.callrpc(procUri, args, resultCallback)) { + if (!this.callrpc(procUri, args, resultCallback, session)) { var msg = [ WAMP.ERROR, WAMP.CALL, From fc5858ee0e8dd1c6def1a9da20b236e8b570e193 Mon Sep 17 00:00:00 2001 From: Adler Parnas Date: Thu, 10 Sep 2015 01:24:15 -0400 Subject: [PATCH 4/5] Update router.js Passing Session to the RPC function --- lib/router.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/router.js b/lib/router.js index 4f90955..f1319d6 100644 --- a/lib/router.js +++ b/lib/router.js @@ -77,11 +77,16 @@ function Router(options) { this.emit('RPCUnregistered', [uri]) }; - this.callrpc = function(uri, args, callback) { + this.callrpc = function(uri, args, callback, session) { if (typeof this.getrpc(uri) !== 'undefined') { var invId = tools.randomId(); _pending[invId] = callback; args.unshift(invId); + + if (session) { + args.push(session); + } + this.getrpc(uri).apply(this ,args); return true; } else { From 7f3079bfe5ea1e2eec73c8218c96d6a438018a07 Mon Sep 17 00:00:00 2001 From: Adler Parnas Date: Tue, 29 Sep 2015 17:55:00 -0600 Subject: [PATCH 5/5] Update session.js exposed wsclient --- lib/session.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/session.js b/lib/session.js index 53dfef4..37baaff 100644 --- a/lib/session.js +++ b/lib/session.js @@ -17,6 +17,9 @@ function Session (router, wsclient) { "] " + msg; log.trace(trace); }.bind(this); + + this.client = wsclient; + this.register = function (uri) { var registrationId = util.randomId(); _registeredUris[registrationId] = uri;