From 284e1392e24790dfd715abb71ced7a37af35c2b3 Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Tue, 11 Feb 2020 21:16:36 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BA=D0=BE=D0=B4=D0=B8=D1=80=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B2=20JSON-=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D0=B0?= =?UTF-8?q?=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/pws.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/modules/pws.js b/modules/pws.js index 653dffe..b456496 100644 --- a/modules/pws.js +++ b/modules/pws.js @@ -17,7 +17,8 @@ const _ = require("lodash"); //Работа с коллекциями и объ const SJSON_CONTROL_ATTR_ARRAY = "___array___"; //Управляющий атрибут для указания параметров конвертации массива //Поля заголовка сообщения -const SHEADER_CONTENT_TYPE_JSON = "application/json"; //Значение "content-type" для JSON +const SHEADER_REQ_CONTENT_TYPE_JSON = "application/json"; //Значение "content-type" для JSON +const SHEADER_RESP_CONTENT_TYPE_JSON = "application/json;charset=utf-8"; //Значение "content-type" для JSON //------------ // Тело модуля @@ -65,7 +66,10 @@ const converXMLArraysToJSON = (obj, arrayKey) => { //Обработчик "До" для полученного сообщения const before = async prms => { //Если пришел запрос в JSON - if (prms.options.headers["content-type"] == SHEADER_CONTENT_TYPE_JSON) { + if ( + prms.options.headers["content-type"] && + prms.options.headers["content-type"].startsWith(SHEADER_REQ_CONTENT_TYPE_JSON) + ) { //Конвертируем полученный в JSON-запрос в XML, понятный серверной части let requestXML = ""; try { @@ -85,7 +89,10 @@ const before = async prms => { //Обработчик "После" для полученного сообщения const after = async prms => { //Если пришел запрос в JSON - if (prms.options.headers["content-type"] == SHEADER_CONTENT_TYPE_JSON) { + if ( + prms.options.headers["content-type"] && + prms.options.headers["content-type"].startsWith(SHEADER_REQ_CONTENT_TYPE_JSON) + ) { //Конвертируем ответ, подготовленный сервером, в JSON parseRes = await parseXML(prms.queue.blResp.toString()); //Доработаем полученный JSON - корректно конвертируем массивы @@ -94,7 +101,7 @@ const after = async prms => { return { optionsResp: { headers: { - "content-type": SHEADER_CONTENT_TYPE_JSON + "content-type": SHEADER_RESP_CONTENT_TYPE_JSON } }, blResp: new Buffer(JSON.stringify(parseRes))