Skip to content
Snippets Groups Projects
Commit 690446b5 authored by Géry Debongnie's avatar Géry Debongnie
Browse files

[FIX] web: protect logged object in mockserver

Before this commit, when whe loglevel was set to 2 in the mock server,
we simply logged the parameters in the console, then give the same
object to the _performRpc route.  Most of the time, it is not an issue,
but nothing prevents the _performRpc route to modify the args object.

And this happens with the /create route, which is very confusing: when
we have a breakpoint/debugger in the mock rpc function in a test, we see
the correct arguments passed to the function.  However, if we look at
the arguments in the console, after the end of the test, we see other
values (for all fields) in the args.args[0] object.

The solution is to simply deep copying everything, so any modification
in the mockserver will not affect the logged object.
parent 07fdcad3
No related branches found
No related tags found
No related merge requests found
......@@ -94,6 +94,7 @@ var MockServer = Class.extend({
args = JSON.parse(JSON.stringify(args));
if (logLevel === 2) {
console.log('%c[rpc] request ' + route, 'color: blue; font-weight: bold;', args);
args = JSON.parse(JSON.stringify(args));
}
return this._performRpc(route, args).then(function (result) {
var resultString = JSON.stringify(result || false);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment