我正在尝试向远程机器上的 Docker 守护进程发出 Node https.request。当连接到具有大约 40 个容器(运行或未运行)的守护程序时,一切正常 - 或者当我将请求限制为仅返回大约 40 个容器时。
但是,没有限制(应返回所有容器,基本上是一个docker ps -a
命令),似乎连接在返回完整主体之前结束。我想知道这是否与 Docker 可以返回多少有关,或者我是否需要在我的请求中指定以保持连接处于活动状态以获得更长的响应。
到目前为止,这是我的代码:
var options = {
hostname: server,
port: port,
path: path,
method: 'GET',
key: fs.readFileSync('/path/to/**-client-key.pem'),
cert: fs.readFileSync('/path/to/**-client-cert.pem'),
rejectUnauthorized: false,
};
var request = https.request(options, function(result) {
console.log("statusCode: ", result.statusCode);
console.log("headers: ", result.headers);
var resultBody = '';
result.on('data', function(d) {
resultBody += d;
});
result.on('end', function() {
callback(resultBody);
});
});
request.on('error', function(e) {
console.error(e);
});
request.write('data\n');
request.write('data\n');
request.end();
发生的情况是在接收到所有数据之前调用该result.on('end')
函数。