first commit
This commit is contained in:
60
index.js
Normal file
60
index.js
Normal file
@@ -0,0 +1,60 @@
|
||||
const config = require('./config')
|
||||
, express = require("express")
|
||||
, expressLogging = require("express-logging")
|
||||
, logger = require("logops")
|
||||
, { StatusCodes, getReasonPhrase } = require('http-status-codes')
|
||||
, hostname = require('os').hostname()
|
||||
, port = 32105
|
||||
, godoUpdater = require('./src/component/GodoUpdater')
|
||||
, controllers = {};
|
||||
|
||||
|
||||
process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;
|
||||
|
||||
/**
|
||||
* Express web server starting
|
||||
*
|
||||
*/
|
||||
logger.getContext = function getContext() {
|
||||
return {
|
||||
// hostname: hostname,
|
||||
// pid: process.pid,
|
||||
// port: port,
|
||||
app: 'Godo'
|
||||
};
|
||||
}
|
||||
var app = express();
|
||||
app.use(express.json());
|
||||
app.use(expressLogging(logger));
|
||||
app.use((req, res, next) => {
|
||||
logger.debug(Object.assign(req.body, req.query, req.params), 'Request params')
|
||||
next()
|
||||
})
|
||||
app.listen(port, () => {
|
||||
logger.info('Service started')
|
||||
if(config.env == 'production')
|
||||
godoUpdater.start()
|
||||
});
|
||||
|
||||
/**
|
||||
* Request handlers
|
||||
*
|
||||
*/
|
||||
app.all('*', (req, res, next) => {
|
||||
let urlSegments = req.url.split('/');
|
||||
req.params.service = urlSegments[1]
|
||||
req.params.what = urlSegments.length > 2 ? urlSegments[2] : ''
|
||||
req.params.args = urlSegments.length > 3 ? urlSegments.slice(3) : []
|
||||
|
||||
if(!controllers.hasOwnProperty(req.params.service)) {
|
||||
let controller = req.params.service.charAt(0).toUpperCase() + req.params.service.slice(1) + 'Controller';
|
||||
controllers[req.params.service] = require('./src/controller/' + controller)
|
||||
logger.info('%s has been loaded', controller)
|
||||
}
|
||||
controllers[req.params.service][req.params.service](req, result => {
|
||||
let body = { code: StatusCodes.OK, message: getReasonPhrase(StatusCodes.OK), data: result }
|
||||
if(result.code) body = result
|
||||
res.json(body)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user