Необязательность реузальтат пользовательских пре/пост обработчиков

This commit is contained in:
Mikhail Chechnev 2018-12-15 15:58:11 +03:00
parent d8c3efc982
commit 25b7b10bb7
2 changed files with 75 additions and 65 deletions

View File

@ -127,6 +127,7 @@ class InQueue extends EventEmitter {
throw new ServerError(SERR_APP_SERVER_BEFORE, e.message); throw new ServerError(SERR_APP_SERVER_BEFORE, e.message);
} }
//Проверяем структуру ответа функции предобработки //Проверяем структуру ответа функции предобработки
if (resBefore) {
let sCheckResult = validateObject( let sCheckResult = validateObject(
resBefore, resBefore,
objInQueueSchema.InQueueProcessorFnBefore, objInQueueSchema.InQueueProcessorFnBefore,
@ -152,6 +153,7 @@ class InQueue extends EventEmitter {
throw new ServerError(SERR_OBJECT_BAD_INTERFACE, sCheckResult); throw new ServerError(SERR_OBJECT_BAD_INTERFACE, sCheckResult);
} }
} }
}
//Вызываем обработчик со стороны БД (если он есть) //Вызываем обработчик со стороны БД (если он есть)
if (prms.function.sPrcResp) { if (prms.function.sPrcResp) {
//Фиксируем начало исполнения сервером БД - в статусе сообщения //Фиксируем начало исполнения сервером БД - в статусе сообщения
@ -184,6 +186,7 @@ class InQueue extends EventEmitter {
throw new ServerError(SERR_APP_SERVER_AFTER, e.message); throw new ServerError(SERR_APP_SERVER_AFTER, e.message);
} }
//Проверяем структуру ответа функции предобработки //Проверяем структуру ответа функции предобработки
if (resAfter) {
let sCheckResult = validateObject( let sCheckResult = validateObject(
resAfter, resAfter,
objInQueueSchema.InQueueProcessorFnAfter, objInQueueSchema.InQueueProcessorFnAfter,
@ -207,6 +210,7 @@ class InQueue extends EventEmitter {
throw new ServerError(SERR_OBJECT_BAD_INTERFACE, sCheckResult); throw new ServerError(SERR_OBJECT_BAD_INTERFACE, sCheckResult);
} }
} }
}
//Всё успешно - отдаём результат клиенту //Всё успешно - отдаём результат клиенту
prms.res.status(200).send(q.blResp); prms.res.status(200).send(q.blResp);
//Фиксируем успех обработки - в статусе сообщения //Фиксируем успех обработки - в статусе сообщения

View File

@ -103,6 +103,7 @@ const appProcess = async prms => {
throw new ServerError(SERR_APP_SERVER_BEFORE, e.message); throw new ServerError(SERR_APP_SERVER_BEFORE, e.message);
} }
//Проверяем структуру ответа функции предобработки //Проверяем структуру ответа функции предобработки
if (resBefore) {
let sCheckResult = validateObject( let sCheckResult = validateObject(
resBefore, resBefore,
objOutQueueProcessorSchema.OutQueueProcessorFnBefore, objOutQueueProcessorSchema.OutQueueProcessorFnBefore,
@ -118,6 +119,7 @@ const appProcess = async prms => {
throw new ServerError(SERR_OBJECT_BAD_INTERFACE, sCheckResult); throw new ServerError(SERR_OBJECT_BAD_INTERFACE, sCheckResult);
} }
} }
}
//Отправляем сообщение удалённому серверу //Отправляем сообщение удалённому серверу
let serverResp = await rqp(options); let serverResp = await rqp(options);
_.extend(prms, { serverResp }); _.extend(prms, { serverResp });
@ -131,6 +133,7 @@ const appProcess = async prms => {
throw new ServerError(SERR_APP_SERVER_AFTER, e.message); throw new ServerError(SERR_APP_SERVER_AFTER, e.message);
} }
//Проверяем структуру ответа функции предобработки //Проверяем структуру ответа функции предобработки
if (resAfter) {
let sCheckResult = validateObject( let sCheckResult = validateObject(
resAfter, resAfter,
objOutQueueProcessorSchema.OutQueueProcessorFnAfter, objOutQueueProcessorSchema.OutQueueProcessorFnAfter,
@ -147,6 +150,9 @@ const appProcess = async prms => {
} else { } else {
prms.queue.blResp = new Buffer(serverResp.toString()); prms.queue.blResp = new Buffer(serverResp.toString());
} }
} else {
prms.queue.blResp = new Buffer(serverResp.toString());
}
//Фиксируем успех исполнения //Фиксируем успех исполнения
newQueue = await dbConn.setQueueAppSrvResult({ newQueue = await dbConn.setQueueAppSrvResult({
nQueueId: prms.queue.nId, nQueueId: prms.queue.nId,