sp-streams
Version:
Streamplace Streams for Piping Video Around and Stuff
63 lines (46 loc) • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = function () {
var tmpDir = _os2.default.tmpdir();
var socketName = "sp-sock-" + Date.now() + "-" + Math.round(Math.random() * 1000) + ".sock";
var socketPath = (0, _path.resolve)(tmpDir, socketName);
var server = _net2.default.createServer(function (c) {
// 'connection' listener
log("client connected");
c.on("error", function () {
log("client errored");
});
c.on("end", function () {
log("client disconnected");
});
c.write("hello\r\n");
c.pipe(socketStream);
});
server.on("error", function (err) {
socketStream.end();
throw err;
});
server.listen(socketPath, function () {
log("server bound to " + socketPath);
});
var socketStream = new _stream2.default.PassThrough();
socketStream.destroy = function () {
server.close();
};
socketStream.server = server;
socketStream.path = socketPath;
return socketStream;
};
var _net = require("net");
var _net2 = _interopRequireDefault(_net);
var _os = require("os");
var _os2 = _interopRequireDefault(_os);
var _stream = require("stream");
var _stream2 = _interopRequireDefault(_stream);
var _path = require("path");
var _debug = require("debug");
var _debug2 = _interopRequireDefault(_debug);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var log = (0, _debug2.default)("sp:socket-ingress-stream");