【发布时间】:2019-08-09 12:20:19
【问题描述】:
在 NodeJS 和 express 中,我正在处理对 OData API 的批处理请求。有时 OData 服务在响应中返回无效结果,由状态 500 表示(可能不止一个,因为这是一个 OData 批处理响应),即使请求标头状态代码返回 200,因为与 API 本身的连接是成功的。
我是 NodeJS 的新手,我不确定如何/最好的方法来检测响应正文中的这些状态 500,以便我可以重试请求(原因是这些 500 错误通常是超时并且在下一次重试时消失) .
我是否需要一个包才能检索或拦截 res.body?我没有看到它在 express 中可用。
请求和响应示例
请求头
Request URL: https://odata/$batch
Request Method: POST
Status Code: 202 Accepted
Remote Address: xxxx
Referrer Policy: no-referrer-when-downgrade
回应
--batch_1564714041997_0
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 500 OK
Content-Type: text/plain;charset=utf-8
Internal server error
--batch_1564714041997_0
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 500 OK
Content-Type: text/plain;charset=utf-8
Internal server error
--batch_1564714041997_0--
【问题讨论】:
标签: node.js odata nodejs-stream