Fastify添加parseAs配置后解析超时问题排查求助
Fastify v4 搭配 Firebase 时内容解析器超时问题
我在 Node.js 18 环境下,结合 Fastify v4 和 Firebase 开发,配置内容解析器时遇到了问题:
正常工作的解析器
以下application/json解析器可以正常完成解析,并将请求转发至路由:
server.addContentTypeParser('application/json', require('./lib/json-parser'))
触发超时的解析器
- 添加了
{ parseAs: 'buffer' }配置的application/json解析器启动后始终无法完成,最终超时。无论将parseAs设为buffer或string,或是引入raw-body/fastify-raw-body插件,都会触发超时:
server.addContentTypeParser('application/json', { parseAs: 'buffer' }, function (req, body, done) { try { const newBody = { rawBody: body, } done(null, newBody) } catch (error) { error.statusCode = 400 done(error, undefined) } })
- 更新:以下通配符
*解析器同样会触发超时:
server.addContentTypeParser('*', function (req, body, done) { var data = '' payload.on('data', chunk => { data += chunk }) payload.on('end', () => { done(null, data) }) })
请问问题可能出在哪里?我不清楚是Fastify的运行机制问题,还是自身操作哪里出错导致了该问题。
内容的提问来源于stack exchange,提问作者Matt Hudson
相关产品推荐
相关产品推荐

