From 165987ff9408c1a006b5f6573fe6710f8ddfb22b Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Fri, 14 Dec 2018 21:52:02 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=BD=D0=B4=D0=B8=D0=B2=D0=B8=D0=B4?= =?UTF-8?q?=D1=83=D0=B0=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20=D0=BE=D0=B1=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1?= =?UTF-8?q?=D0=BE=D0=BA=20=D0=BE=D1=82=20=D0=BF=D1=80=D0=B5=D0=B4=20=D0=B8?= =?UTF-8?q?=20=D0=BF=D0=BE=D1=81=D1=82=20=D0=BE=D1=82=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D1=87=D0=B8=D0=BA=D0=B0=20=D0=B8=D1=81=D1=85?= =?UTF-8?q?=D0=BE=D0=B4=D1=8F=D1=89=D0=B8=D1=85=20=D1=81=D0=BE=D0=BE=D0=B1?= =?UTF-8?q?=D1=89=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/out_queue_processor.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/core/out_queue_processor.js b/core/out_queue_processor.js index ccac39f..48197a7 100644 --- a/core/out_queue_processor.js +++ b/core/out_queue_processor.js @@ -17,7 +17,7 @@ const { ServerError } = require("./server_errors"); //Типовая ошибк const objOutQueueProcessorSchema = require("../models/obj_out_queue_processor"); //Схема валидации сообщений обмена с бработчиком очереди исходящих сообщений const prmsOutQueueProcessorSchema = require("../models/prms_out_queue_processor"); //Схема валидации параметров функций модуля const objQueueSchema = require("../models/obj_queue"); //Схемы валидации сообщения очереди -const { SERR_OBJECT_BAD_INTERFACE } = require("./constants"); //Глобальные константы +const { SERR_OBJECT_BAD_INTERFACE, SERR_APP_SERVER_BEFORE, SERR_APP_SERVER_AFTER } = require("./constants"); //Глобальные константы const { NINC_EXEC_CNT_YES, NINC_EXEC_CNT_NO } = require("../models/prms_db_connector"); //Схемы валидации параметров функций модуля взаимодействия с БД //-------------------------- @@ -96,7 +96,12 @@ const appProcess = async prms => { //Выполняем обработчик "До" (если он есть) if (prms.function.sAppSrvBefore) { const fnBefore = getAppSrvFunction(prms.function.sAppSrvBefore); - let resBefore = await fnBefore(prms); + let resBefore = null; + try { + resBefore = await fnBefore(prms); + } catch (e) { + throw new ServerError(SERR_APP_SERVER_BEFORE, e.message); + } //Проверяем структуру ответа функции предобработки let sCheckResult = validateObject( resBefore, @@ -116,10 +121,15 @@ const appProcess = async prms => { //Отправляем сообщение удалённому серверу let serverResp = await rqp(options); _.extend(prms, { serverResp }); - //Выполняем обработчик "После" + //Выполняем обработчик "После" (если он есть) if (prms.function.sAppSrvAfter) { const fnAfter = getAppSrvFunction(prms.function.sAppSrvAfter); - let resAfter = await fnAfter(prms); + let resAfter = null; + try { + resAfter = await fnAfter(prms); + } catch (e) { + throw new ServerError(SERR_APP_SERVER_AFTER, e.message); + } //Проверяем структуру ответа функции предобработки let sCheckResult = validateObject( resAfter,