1e9c0899cb07501c595774b48d55ff9c0806ddeb
3 const http
= require('http');
5 const Config
= require('./config');
6 const DB
= require('./src/db');
7 const Service
= require('./src/service');
8 const Logger
= require('./src/logger');
9 const { fileScope
} = require('./src/common');
10 const _fileScope
= fileScope(__filename
);
11 const { version
} = require('./package.json');
13 const PORT
= process
.env
.PORT
|| 3002;
14 const ADDR
= process
.env
.LISTEN_ADDR
|| '127.0.0.1';
16 (async
function main () {
17 const _scope
= _fileScope('main');
18 let config
, logger
, db
, service
;
20 config
= new Config(process
.env
.NODE_ENV
);
21 logger
= new Logger(config
);
22 db
= new DB(logger
, config
);
23 await db
.initialize();
24 service
= new Service(logger
, db
, config
);
25 await service
.initialize();
27 http
.createServer((req
, res
) => {
28 service
.dispatch(req
, res
);
29 }).listen(PORT
, ADDR
, (err
) => {
31 logger
.error(_scope
, 'error starting server', err
);
34 logger
.info(_scope
, 'server started', { version
, listenAddress: ADDR
, listenPort: PORT
});
37 (logger
|| console
).error(_scope
, 'error starting server', e
);