forked from CITKParus/P8-ExchangeService
Для PWS - обработка ошибок конвертации XML в JSON и выдача ответа "как есть" (без конвертации) в случае их обнаружения
This commit is contained in:
parent
9fbaa81dbb
commit
870998c17c
@ -100,10 +100,16 @@ const after = async prms => {
|
|||||||
prms.options.qs[SQUERY_RESP_CT] &&
|
prms.options.qs[SQUERY_RESP_CT] &&
|
||||||
prms.options.qs[SQUERY_RESP_CT].startsWith(SHEADER_REQ_CONTENT_TYPE_JSON))
|
prms.options.qs[SQUERY_RESP_CT].startsWith(SHEADER_REQ_CONTENT_TYPE_JSON))
|
||||||
) {
|
) {
|
||||||
//Конвертируем ответ, подготовленный сервером, в JSON
|
//Буфер для конвертации
|
||||||
parseRes = await parseXML(prms.queue.blResp.toString());
|
let parseRes = "";
|
||||||
//Доработаем полученный JSON - корректно конвертируем массивы
|
try {
|
||||||
converXMLArraysToJSON(parseRes, SJSON_CONTROL_ATTR_ARRAY);
|
//Конвертируем ответ, подготовленный сервером, в JSON
|
||||||
|
parseRes = await parseXML(prms.queue.blResp.toString());
|
||||||
|
//Доработаем полученный JSON - корректно конвертируем массивы
|
||||||
|
converXMLArraysToJSON(parseRes, SJSON_CONTROL_ATTR_ARRAY);
|
||||||
|
} catch (e) {
|
||||||
|
//Любые ошибки - игнорируем (если не смогли конвертировать будем отдавать данные "как есть")
|
||||||
|
}
|
||||||
//Вернём его клиенту в таком виде
|
//Вернём его клиенту в таком виде
|
||||||
return {
|
return {
|
||||||
optionsResp: {
|
optionsResp: {
|
||||||
@ -111,7 +117,7 @@ const after = async prms => {
|
|||||||
"content-type": SHEADER_RESP_CONTENT_TYPE_JSON
|
"content-type": SHEADER_RESP_CONTENT_TYPE_JSON
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
blResp: new Buffer(JSON.stringify(parseRes))
|
blResp: new Buffer(parseRes ? JSON.stringify(parseRes) : prms.queue.blResp)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user