Узел https.request для Docker API закрывается до полного возврата результата
Я пытаюсь создать Node https.request для демона Docker на удаленной машине. Все работает нормально при подключении к демонам с примерно 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')
Функция вызывается до того, как все данные получены.