Javascript 如何在hapi.js中通过管道流进行回复
我在寻找hapi中的parllel方法Javascript 如何在hapi.js中通过管道流进行回复,javascript,node.js,stream,hapijs,Javascript,Node.js,Stream,Hapijs,我在寻找hapi中的parllel方法 // Express + Request exmaple function(req, res){ request('http://example.com/image.png').pipe(res); } 如何在hapi中传递响应 server.route({ method: "*", path: "/api/results/{date}", handler: (request, reply) => { //????reply
// Express + Request exmaple
function(req, res){
request('http://example.com/image.png').pipe(res);
}
如何在hapi中传递响应
server.route({
method: "*",
path: "/api/results/{date}",
handler: (request, reply) => {
//????reply(?);
}
});
从另一个问题/答案:
function (request, reply) {
Request('http://example.com/image.png')
.on('response', function (response) {
reply(response);
});
}
如果您只需要转发上游响应,您可以通过h2o2插件使用代理处理程序:
server.route({
method: 'GET',
path: '/upstream/file',
handler: {
proxy: {
uri: 'http://example.com/image.png'
}
}
});
我不确定你能不能。请求是否支持streams2 api?从hapi文档:
流对象(注意-任何流对象都必须与“streams2”API兼容,并且不处于objectMode)
我已经用aws sdk模块完成了:回复(s3.getObject(params.createReadStream())代码>服务器.route({method:*”,路径:“/api/results/{date}”,处理程序:(req,reply)=>{var fs=require('fs');var fileStream=fs.createWriteStream('./doron');request(';reply(fileStream);}});这通过以下异常调试:内部、实现、错误:流必须有一个streams2可读接口这就是我看到的,这就是为什么我说请求模块不支持streams2。你可以试试,但我不确定这是否可行。好的,我会研究一下Trank,我现在的问题是请求模块不支持流2。我的意见是,hapi应该支持并鼓励人们使用流。经过所有的调查,我发现hapi中没有足够的关于流支持的文档。这些文档没有使用流中的力量。流很简单。等等('data',…侦听器,它会在每个数据事件上发出事件。您发布的asnwer基本上都在侦听结尾event@doronaviguy您错了。响应是一个流,并且在处理了头之后立即发出事件。@吉尔,谢谢,您是对的。“响应”事件是[http.Incomming]()哪个是来自http模块Docs http的流对象引用。它实现了可读取的流接口,该接口的方法处理流响应?