first commit

This commit is contained in:
spiduler
2021-07-13 16:53:42 +09:00
commit db05b73e5b
14 changed files with 624 additions and 0 deletions

60
index.js Normal file
View 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)
})
})