kopia lustrzana https://github.com/c9/core
37 wiersze
1.1 KiB
JavaScript
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;
|
|
}
|
|
});
|
|
}; |