From 870998c17c8e1e791e204a4e0ecd95ef0f33f60f Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Thu, 19 Mar 2020 08:38:27 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BB=D1=8F=20PWS=20-=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8?= =?UTF-8?q?=D0=B1=D0=BE=D0=BA=20=D0=BA=D0=BE=D0=BD=D0=B2=D0=B5=D1=80=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20XML=20=D0=B2=20JSON=20=D0=B8=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B4=D0=B0=D1=87=D0=B0=20=D0=BE=D1=82=D0=B2=D0=B5?= =?UTF-8?q?=D1=82=D0=B0=20"=D0=BA=D0=B0=D0=BA=20=D0=B5=D1=81=D1=82=D1=8C"?= =?UTF-8?q?=20(=D0=B1=D0=B5=D0=B7=20=D0=BA=D0=BE=D0=BD=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D1=82=D0=B0=D1=86=D0=B8=D0=B8)=20=D0=B2=20=D1=81=D0=BB=D1=83?= =?UTF-8?q?=D1=87=D0=B0=D0=B5=20=D0=B8=D1=85=20=D0=BE=D0=B1=D0=BD=D0=B0?= =?UTF-8?q?=D1=80=D1=83=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/pws.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/modules/pws.js b/modules/pws.js index a16b5e9..8160eee 100644 --- a/modules/pws.js +++ b/modules/pws.js @@ -100,10 +100,16 @@ const after = async prms => { prms.options.qs[SQUERY_RESP_CT] && prms.options.qs[SQUERY_RESP_CT].startsWith(SHEADER_REQ_CONTENT_TYPE_JSON)) ) { - //Конвертируем ответ, подготовленный сервером, в JSON - parseRes = await parseXML(prms.queue.blResp.toString()); - //Доработаем полученный JSON - корректно конвертируем массивы - converXMLArraysToJSON(parseRes, SJSON_CONTROL_ATTR_ARRAY); + //Буфер для конвертации + let parseRes = ""; + try { + //Конвертируем ответ, подготовленный сервером, в JSON + parseRes = await parseXML(prms.queue.blResp.toString()); + //Доработаем полученный JSON - корректно конвертируем массивы + converXMLArraysToJSON(parseRes, SJSON_CONTROL_ATTR_ARRAY); + } catch (e) { + //Любые ошибки - игнорируем (если не смогли конвертировать будем отдавать данные "как есть") + } //Вернём его клиенту в таком виде return { optionsResp: { @@ -111,7 +117,7 @@ const after = async prms => { "content-type": SHEADER_RESP_CONTENT_TYPE_JSON } }, - blResp: new Buffer(JSON.stringify(parseRes)) + blResp: new Buffer(parseRes ? JSON.stringify(parseRes) : prms.queue.blResp) }; } };