lisa-box
Version:
Home automation system L.I.S.A.
37 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const request = require('request');
const common_1 = require("@fabrix/fabrix/dist/common");
const jpegExtractor = require('jpeg-extractor');
class CameraController extends common_1.FabrixController {
snapshot(req, res) {
let reqStream;
const jpgExtractor = jpegExtractor().on('image', image => {
reqStream.abort();
res.send(image);
});
reqStream = request(req.query.url, err => {
if (err) {
this.log.error(err);
res.status(500).end();
}
});
req.pipe(reqStream);
reqStream.pipe(jpgExtractor);
}
stream(req, res) {
const reqStream = request(req.query.url, err => {
if (err) {
this.log.error(err);
res.status(500).end();
}
});
req.connection.on('close', () => {
reqStream.abort();
});
req.pipe(reqStream);
reqStream.pipe(res);
}
}
exports.CameraController = CameraController;
//# sourceMappingURL=CameraController.js.map