我正在尝试使用流使用Hapi将数据发送到浏览器,但无法确定我们的方式。具体来说,我正在使用请求模块。根据文档,该reply
对象接受流,所以我尝试了:
reply(request.get('https://google.com'));
引发错误。在文档中说流对象必须与stream2兼容,所以我尝试了:
reply(streams2(request.get('https://google.com')));
现在,这不会引发服务器端错误,但是在浏览器中,请求永远不会加载(使用chrome)。
然后我尝试了这个:
var stream = request.get('https://google.com');
stream.on('data', data => console.log(data));
reply(streams2(stream));
并且在控制台 中 输出了数据,所以我知道流不是问题,而是Hapi。我如何在Hapi中进行流式传输工作?
尝试使用Readable.wrap
:
var Readable = require('stream').Readable;
...
function (request, reply) {
var s = Request('http://www.google.com');
reply(new Readable().wrap(s));
}
使用Node 0.10.x和hapi 8.xx进行了测试。在我的代码示例Request
中,node-
request模块request
是传入的hapi请求对象。
更新
另一种可能的解决办法是监听“响应”事件从Request
然后reply
用http.IncomingMessage
这是一个适当的读操作流。
function (request, reply) {
Request('http://www.google.com')
.on('response', function (response) {
reply(response);
});
}
这需要较少的步骤,并且还允许开发人员在传输之前将用户定义的属性附加到流。这对于设置200以外的状态代码很有用。
我正在尝试使用apache flume将数据加载到hbase中。当我使用flume将数据传输到hadoop时,它工作得很好。但是当我启动flume代理将数据加载到hbase时,我得到了NoClassDefFoundError。 这是我的水槽配置: flume-env.sh 代理4.conf
我第一次尝试Kafka,并使用AWS MSK设置Kafka群集。目标是将数据从MySQL服务器流式传输到Postgresql。我使用debezium MySQL连接器作为源,使用Confluent JDBC连接器作为接收器。 MySQL配置: 注册Mysql连接器后,其状态为“正在运行”,并捕获MySQL表中所做的更改,并以以下格式在消费者控制台中显示结果: 我的第一个问题:在表中“金额”列是“十
问题内容: 我想使用elasticsearch-river-mysql以便将数据从MySQL数据库连续传输到ElasticSearch。我是ES和Rivers的初学者,所以希望您能为我的问题提供帮助。 据我所知,数据将从MySQL数据库流式传输到ES集群,后者将自动对其进行索引。那是对的吗?我需要了解任何超时或限制吗? 关系数据库表之间的外键关系将如何转换为ES?包含外键的表行是否将成为ES文档的
如果有人能把我引向正确的方向,我会很感激,这样我就知道从哪里开始了。
问题内容: 我想将录制的音频从浏览器实时流传输到服务器并播放。该服务器最终将成为播放这些音频流的嵌入式设备。 到目前为止,我已经成功地录制了音频并将其编码为WAVE文件,并使用网络音频API并按照本教程在浏览器上播放。 现在,我有了.WAV编码的Blob流。我试图找到通过Web套接字连接将其流式传输到Node.js后端并使用npm模块播放它们的方法。但是我没有运气。 有人知道我应该遵循的任何资源或
问题内容: 我有一个像这样的文件: 而且我想按行转移列,因此输出应如下所示: 我写了这个命令: 问题是此命令将所有内容都放在一行上!所以输出是这样的: 问题答案: 这可能起作用: 在Ideone上观看它。