c9-core/plugins/c9.cli.bridge/bridge-service.js

37 wiersze
1.1 KiB
JavaScript

module.exports = function (vfs, options, register) {
var Stream = require('stream');
var stream, server;
register(null, {
connect: function (port, callback) {
if (stream) return callback(null, { stream: stream });
server = require('net').createServer(function(c) {
var buffer = "";
c.on("data", function(chunk) {
buffer += chunk;
});
c.on("end", function(){
stream.emit("data", buffer);
});
});
server.on("error", function(err) {
callback(err);
});
server.listen(port, process.env.OPENSHIFT_DIY_IP || "localhost", function(err) {
if (err) return callback(err);
callback(null, { stream: stream });
});
stream = new Stream();
stream.readable = true;
},
disconnect: function(){
try { server && server.close(); }
catch (e) {}
stream = null;
server = null;
}
});
};