botpress
Version:
The world's first CMS for bots. Easily create, manage and extend chatbots.
90 lines (65 loc) • 2.58 kB
JavaScript
;
var _express = require('express');
var _express2 = _interopRequireDefault(_express);
var _compression = require('compression');
var _compression2 = _interopRequireDefault(_compression);
var _http = require('http');
var _http2 = _interopRequireDefault(_http);
var _socket = require('./socket');
var _socket2 = _interopRequireDefault(_socket);
var _static = require('./static');
var _static2 = _interopRequireDefault(_static);
var _api = require('./api');
var _api2 = _interopRequireDefault(_api);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
module.exports = bp => {
const serveApi = (() => {
var _ref = _asyncToGenerator(function* (app) {
const api = (0, _api2.default)(bp);
return api.install(app);
});
return function serveApi(_x) {
return _ref.apply(this, arguments);
};
})();
const serveSocket = (() => {
var _ref2 = _asyncToGenerator(function* (server) {
const socket = (0, _socket2.default)(bp);
return socket.install(server);
});
return function serveSocket(_x2) {
return _ref2.apply(this, arguments);
};
})();
const serveStatic = (() => {
var _ref3 = _asyncToGenerator(function* (app) {
const staticStuff = (0, _static2.default)(bp);
return staticStuff.install(app);
});
return function serveStatic(_x3) {
return _ref3.apply(this, arguments);
};
})();
const start = (() => {
var _ref4 = _asyncToGenerator(function* () {
const app = (0, _express2.default)();
app.use((0, _compression2.default)());
const server = _http2.default.createServer(app);
const { port, hostname } = bp.botfile;
yield serveApi(app);
yield serveSocket(server);
yield serveStatic(app);
return new Promise(function (resolve) {
server.listen(port, hostname, function () {
return resolve(server);
});
});
});
return function start() {
return _ref4.apply(this, arguments);
};
})();
return { start };
};
//# sourceMappingURL=index.js.map