如您所料,我对Express十分熟悉,但这是我第一次使用Fastify。

我想访问Fastify请求的未修改主体,以进行Webhook的签名验证-即,我希望看到请求传入,并且不受任何中间件的影响。在Express中,这通常是通过访问request.rawBody来完成的。

如何访问Fastify请求的原始正文?

最佳答案

有一个issue on GitHub for rawBody support

这里有一个“原始物体”模块,使用此模块非常容易:

const rawBody = require('raw-body')

fastify.addContentTypeParser('*', (req, done) => {
    rawBody(req, {
        length: req.headers['content-length'],
        limit: '1mb',
        encoding: 'utf8', // Remove if you want a buffer
    }, (err, body) => {
        if (err) return done(err)
        done(null, parse(body))
    })
})


我希望我能对您有所帮助,我也是固定的新手

09-25 22:25