【发布时间】:2019-05-27 12:48:31
【问题描述】:
我正在尝试接收来自第 3 方的 webhook。虽然我可以看到 content-length > 0,但 console.logging req.body 只会产生 {}。请求正在发送到路由“/v2/wtevr/report/wtevr”。
这些是从 webhook POST 请求收到的标头:
accept: '*/*',
'accept-encoding': 'gzip, deflate',
'user-agent': 'rest-client/2.0.2 (linux-gnu x86_64) ruby/2.5.3p105',
'content-type': 'application/vnd.wtevr.wtevr.leadwebhook+json;version=0.0.2',
'content-length': '254',
host: 'api.mysite.co.uk'
我正在使用 Express 的正文解析器来解析响应。根据 Express docs 的说法,body-parser 支持“gzip”和“deflate”编码的自动膨胀。我已经指定了内容类型来捕获请求并将其解压缩,但它不起作用。这是我的代码的样子:
app.use(
function(req, res, next) {
if (req.url === '/v2/wtevr/report/wtevr') {
next();
}
}
)
app.use(bodyParser.json({type: ['application/json', 'application/vnd.wtevr.wtevr.leadwebhook+json;version=0.0.2']}));
app.use(bodyParser.urlencoded({ extended: true }));
有人知道我如何解析/查看正文吗?
【问题讨论】:
标签: node.js express gzip body-parser