UNPKG

node-webplay

Version:

A nodejs streaming server implementation

132 lines (89 loc) 3.71 kB
#!/usr/bin/env node "use strict"; var _express = require("express"); var _express2 = _interopRequireDefault(_express); var _server = require("../uploader/server.js"); var _server2 = _interopRequireDefault(_server); var _procman = require("../processor/procman.js"); var _procman2 = _interopRequireDefault(_procman); var _path = require("path"); var _path2 = _interopRequireDefault(_path); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function optval(name, def) { if (null == process.env[name]) { return def; } return process.env[name]; } var status_man_use = optval("NODEPLAYSTATUSMAN", "../processor/statmanfs.js"); var processor_use = optval("NODEPLAYPROCESSOR", "../processor/index.js"); var def_owner = optval("NODEPLAYDEFOWNER", "uploader"); var port = optval("NODEPLAYPORT", 3000); var statusman = new _procman2.default({ statusman: status_man_use, processor: processor_use }); _express2.default.static.mime.define({ "application/dash+xml": ["mpd"] }); var app = (0, _express2.default)(); var env_path = process.env.PATH; var rootdir = _path2.default.normalize(_path2.default.join(__dirname, "../..")); var dirname = _path2.default.normalize(_path2.default.join(rootdir, "./bin")); var distdir = _path2.default.normalize(_path2.default.join(rootdir, "./dist")); process.env.PATH = dirname + _path2.default.delimiter + env_path; /* console.log("PATH: ", dirname, " ", env_path); console.log("---------------------"); console.log(process.env.PATH); console.log("---------------------"); */ app.use(function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); next(); }); app.use("/play", _express2.default.static(rootdir)); app.use("/upload", (0, _server2.default)()); app.get("/clientaccesspolicy.xml", function (req, res) { var clientaccesspolicy = "<?xml version=\"1.0\" encoding=\"utf-8\" ?> \n<access-policy>\n<cross-domain-access>\n<policy>\n<allow-from http-methods=\"*\" http-request-headers=\"*\">\n<domain uri=\"http://*\" /> \n</allow-from>\n<grant-to>\n<resource path=\"/\" include-subpaths=\"true\" /> \n</grant-to>\n</policy>\n</cross-domain-access>\n</access-policy>\n"; res.send(clientaccesspolicy); }); app.get("/api/list", function (req, res, next) { statusman.list(def_owner).then(function (list) { res.json(list); }, function (err) { next(err); }); }); app.get("/api/status/:id", function (req, res, next) { var id = req.params.id; statusman.status(def_owner, id).then(function (stat) { res.json(stat); }, function (err) { next(err); }); }); app.get("/api/upload/:name", function (req, res, next) { var name = req.params.name; statusman.reserve_name(def_owner, name).then(function (id) { return res.json({ id: id }); }, function (err) { return next(err); }); }); app.put("/upload/:id?", function (req, res) { console.log("-------------****"); //console.log(JSON.stringify(req.headers)); console.log(req.uploader); console.log("-------------**--"); var id = req.params.id; if (null != id) { statusman.queue_job(def_owner, id //, path.basename(req.uploader) , req.uploader).then(function () {}, function (err) { console.log("QYE", err.toString()); statusman.record_error(def_owner, id, err, "QUEUE JOB ERROR"); }); } res.send("OK"); }); app.use(_express2.default.static(distdir)); app.listen(port, function () { console.log("app listening on port " + port + "!"); }); //# sourceMappingURL=index.js.map