Глубокое копирование локального объекта параметров перед передачей пользовательскому обработчику

This commit is contained in:
Mikhail Chechnev 2018-12-15 23:57:48 +03:00
parent 374d44d163
commit 108452284d
2 changed files with 14 additions and 10 deletions

View File

@ -122,10 +122,11 @@ class InQueue extends EventEmitter {
const fnBefore = getAppSrvFunction(prms.function.sAppSrvBefore);
let resBefore = null;
try {
prms.queue = q;
prms.queue.blMsg = blMsg;
prms.queue.blResp = blResp;
resBefore = await fnBefore(prms);
let resBeforePrms = _.cloneDeep(prms);
resBeforePrms.queue = _.cloneDeep(q);
resBeforePrms.queue.blMsg = blMsg;
resBeforePrms.queue.blResp = blResp;
resBefore = await fnBefore(resBeforePrms);
} catch (e) {
throw new ServerError(SERR_APP_SERVER_BEFORE, e.message);
}
@ -193,10 +194,11 @@ class InQueue extends EventEmitter {
const fnAfter = getAppSrvFunction(prms.function.sAppSrvAfter);
let resAfter = null;
try {
prms.queue = q;
prms.queue.blMsg = blMsg;
prms.queue.blResp = blResp;
resAfter = await fnAfter(prms);
let resAfterPrms = _.cloneDeep(prms);
resAfterPrms.queue = _.cloneDeep(q);
resAfterPrms.queue.blMsg = blMsg;
resAfterPrms.queue.blResp = blResp;
resAfter = await fnAfter(resAfterPrms);
} catch (e) {
throw new ServerError(SERR_APP_SERVER_AFTER, e.message);
}

View File

@ -110,7 +110,8 @@ const appProcess = async prms => {
const fnBefore = getAppSrvFunction(prms.function.sAppSrvBefore);
let resBefore = null;
try {
resBefore = await fnBefore(prms);
let resBeforePrms = _.cloneDeep(prms);
resBefore = await fnBefore(resBeforePrms);
} catch (e) {
throw new ServerError(SERR_APP_SERVER_BEFORE, e.message);
}
@ -140,7 +141,8 @@ const appProcess = async prms => {
const fnAfter = getAppSrvFunction(prms.function.sAppSrvAfter);
let resAfter = null;
try {
resAfter = await fnAfter(prms);
let resAfterPrms = _.cloneDeep(prms);
resAfter = await fnAfter(resAfterPrms);
} catch (e) {
throw new ServerError(SERR_APP_SERVER_AFTER, e.message);
}