From 73037e8309b6f454e7d5041dad6c8ba3494bc612 Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Tue, 18 Feb 2020 16:54:08 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D0=BD=D0=B2=D0=B5=D1=80=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B2=20JSON=20=D0=BE=D1=82=D0=B2?= =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B2=20=D0=B2=20=D0=B7=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=81=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D0=B8=20=D0=BE=D1=82=20URL?= =?UTF-8?q?-=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=B0=20SRESP?= =?UTF-8?q?=5FCT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/pws.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/modules/pws.js b/modules/pws.js index aacb000..563d393 100644 --- a/modules/pws.js +++ b/modules/pws.js @@ -20,6 +20,9 @@ const SJSON_CONTROL_ATTR_ARRAY = "___array___"; //Управляющий атр 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-ответа +//Поля запроса +const SQUERY_RESP_CT = "SRESP_CT"; //Параметр URL-запроса для принудительного указания типа возвращаемых данных + //------------ // Тело модуля //------------ @@ -88,10 +91,13 @@ const before = async prms => { //Обработчик "После" для полученного сообщения const after = async prms => { - //Если пришел запрос в JSON + //Если пришел запрос в JSON или просили ответ в JSON if ( - prms.options.headers["content-type"] && - prms.options.headers["content-type"].startsWith(SHEADER_REQ_CONTENT_TYPE_JSON) + (prms.options.headers["content-type"] && + prms.options.headers["content-type"].startsWith(SHEADER_REQ_CONTENT_TYPE_JSON)) || + (prms.options.qs && + 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());