1
Как подключиться к LXD API через домен unix-сокета под nodejs? Я пробую следующий код, но не получается. Я получил этот ответ: HTTP/1.1 400 Bad RequestLXD - Как подключиться к LXD API через доменное имя unix в узле nodejs?
var net = require('net');
var lxdUSD='/var/lib/lxd/unix.socket';
var net = require('net');
var client = net.connect({path: lxdUSD},
function() { //'connect' listener
console.log('connected to socket!: '+lxdUSD);
});
client.on('data', function(data) {
console.log(data);
console.log(data.toString());
client.end();
});
client.on('end', function() {
console.log('disconnected from socket!: '+lxdUSD);
});
client.on('error', function() {
console.log('Error');
process.exit(-1);
});
setInterval(function(){
var msg="GET /1.0/containers HTTP/1.1\r\n";
console.log("write to socket: "+msg);
client.write(msg);
console.log("........");
}, 15*1000);
Попытка следующее из командной строки она работает:
echo -e "GET /1.0/containers HTTP/1.1\r\n" | socat unix-connect:/var/lib/lxd/unix.socket STDIO
Выход:
HTTP/1.1 200 OK
Content-Type: application/json
Date: Thu, 15 Oct 2015 15:02:59 GMT
Content-Length: 135
{"type":"sync","status":"Success","status_code":200,"metadata":["/1.0/containers/pc01","/1.0/containers/pc02","/1.0/containers/pc03"]}