gpt4 book ai didi

node.js - 如何在 Hapijs 中传输 JSON 请求?

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:54 26 4
gpt4 key购买 nike

我有一个非常大的 JSON 请求,这导致了 413 错误。我正在探索解决此问题的解决方法(除了增加请求大小之外),并发现流式传输作为一种选择。但是,我找不到任何流式 JSON 请求的示例。我怎样才能做到这一点?下面是我的代码

this.server.route({
method: 'POST',
path: '/vov',
config: {
payload: {
output: 'stream',
allow: ['application/json','multipart/form-data']
},
handler: (request, reply) => {

// request.setEncoding('utf8');
let payload = request.payload;
this.onMessage(payload);
// payload.on('data', (chunk) =>{
// console.log(chunk);
// // this.onMessage(payload);
// // setTimeout(() => {return reply.continue()},30000);
// });
// payload.on('end', (chunk) =>{
// console.log(chunk);
// this.onMessage(payload);
// setTimeout(() => {return reply.continue()},30000);
// });

// return reply.continue();
}

}

});

最佳答案

您可以向负载提供false:

payload: {
output: 'stream',
parse: false
}

这将返回有效负载中未修改的流。然后您可以使用JSONStream处理大流文件的模块。

const payload = request.payload;
payload.pipe(JSONStream.parse(options))
.on('data', (data) => {
// handle your logic
})

关于node.js - 如何在 Hapijs 中传输 JSON 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51873408/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com