light-ning
Version:
(ALPHA) framework without dependecies...
101 lines (74 loc) • 3.17 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.BaseController = exports.Response = exports.Router = undefined;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _Router = require('./Router');
var _Router2 = _interopRequireDefault(_Router);
var _Response = require('./Response');
var _Response2 = _interopRequireDefault(_Response);
var _Controller = require('./Controller');
var _Controller2 = _interopRequireDefault(_Controller);
var _http = require('http');
var _http2 = _interopRequireDefault(_http);
var _logger = require('./logger');
var _logger2 = _interopRequireDefault(_logger);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
exports.Router = _Router2.default;
exports.Response = _Response2.default;
exports.BaseController = _Controller2.default;
var App = function () {
function App() {
_classCallCheck(this, App);
this.port = 6060;
this.prefix = '';
this.portMessage = true;
}
_createClass(App, [{
key: 'run',
value: function run() {
var controllers = void 0;
var base = this.base = process.cwd() + '/' + this.prefix;
controllers = base + '/controllers';
try {
require(base + '/routes/index.js');
} catch (e) {
throw new Error('cannot find ' + base + '/routes, or routes contains fatal error');
}
try {
this.config = require(base + '/config');
if (this.config) this.port = this.config.port;
} catch (e) {
console.warn('Config file not found. If you want to use light-ning preferences, create config beside file where are you use "app.run()".');
}
_Router2.default.setControllersPath(controllers);
_Router2.default.setGuardian(this.guardian);
if (this.portMessage) {
this.portMessage = false;
console.info('');
console.info('PORT: ' + this.port);
console.info('');
}
return _http2.default.createServer(function (req, res) {
(0, _logger2.default)(req, res);
res.setHeader('Content-Type', 'application/json');
_Router2.default.route(req, res);
}).listen(this.port);
}
}, {
key: 'set',
value: function set(key, val) {
this[key] = val;
}
}, {
key: 'get',
value: function get(key) {
if (this[key]) return this[key];else return undefined;
}
}]);
return App;
}();
App.displayName = 'App';
exports.default = new App();
;