发送 NodeJS ExpressJS 响应 HTTP 状态代码 200 + 负载
Send NodeJS ExpressJS Response HTTP Status code 200 + payload
我需要发回具有以下特征的确认响应:
- HTTP 状态代码 200
- 有效载荷(主体?)
我的尝试:
function handleMessage(req, res){
let otaRequestBuffer = [];
req.on('readable', () => {
let data;
while (data = req.read()) {
otaRequestBuffer.push(data.toString());
}
});
req.on('end', () => {
let otaRequest = otaRequestBuffer.join('');
try {
let parser = new DOMParser();
let xmlDoc = parser.parseFromString(otaRequest, "text/xml");
let soapHeader = parseSoapHeader(xmlDoc);
const soapAction = req.headers['soapaction'].toString();
const ack = `<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<htnga:CorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">${soapHeader.correlationId}</htnga:CorrelationID>
<htnga:RelatesToCorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">${soapHeader.correlationId}</htnga:RelatesToCorrelationID>
</env:Header>
<env:Body>
<ns:HTNG_AcknowledgeReceipt xmlns:ns="http://htng.org/2014B"/>
</env:Body>
</env:Envelope>`
res.sendStatus(200);
res.write(ack);
} catch (error) {
console.log(error);
}
});
但这只发送OK。我怎样才能同时发送 payload/body 和 HTTPS 状态代码 200.
感谢您的帮助。
这里是来自 API 提供商的文档的屏幕截图:
默认情况下 res.send() 的状态代码为 200,但对于其他状态代码,您可以使用
res.status(403).send("You are not authorised to view this")
我需要发回具有以下特征的确认响应:
- HTTP 状态代码 200
- 有效载荷(主体?)
我的尝试:
function handleMessage(req, res){
let otaRequestBuffer = [];
req.on('readable', () => {
let data;
while (data = req.read()) {
otaRequestBuffer.push(data.toString());
}
});
req.on('end', () => {
let otaRequest = otaRequestBuffer.join('');
try {
let parser = new DOMParser();
let xmlDoc = parser.parseFromString(otaRequest, "text/xml");
let soapHeader = parseSoapHeader(xmlDoc);
const soapAction = req.headers['soapaction'].toString();
const ack = `<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<htnga:CorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">${soapHeader.correlationId}</htnga:CorrelationID>
<htnga:RelatesToCorrelationID xmlns:htnga="http://htng.org/PWSWG/2007/02/AsyncHeaders">${soapHeader.correlationId}</htnga:RelatesToCorrelationID>
</env:Header>
<env:Body>
<ns:HTNG_AcknowledgeReceipt xmlns:ns="http://htng.org/2014B"/>
</env:Body>
</env:Envelope>`
res.sendStatus(200);
res.write(ack);
} catch (error) {
console.log(error);
}
});
但这只发送OK。我怎样才能同时发送 payload/body 和 HTTPS 状态代码 200.
感谢您的帮助。
这里是来自 API 提供商的文档的屏幕截图:
默认情况下 res.send() 的状态代码为 200,但对于其他状态代码,您可以使用
res.status(403).send("You are not authorised to view this")