-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
29 lines (24 loc) · 926 Bytes
/
index.js
File metadata and controls
29 lines (24 loc) · 926 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const Koa = require('koa');
const cors = require('@koa/cors');
const bodyParser = require('koa-bodyparser');
const respond = require('koa-respond');
const log4js = require('log4js');
const errorHandler = require('./api/middlewares/error-handler');
const whitelist = require('./api/middlewares/whitelist');
const routes = require('./api/routes');
const config = require('./config');
const app = new Koa();
const logger = log4js.getLogger('./index.js');
const { port, loggerLevel } = config;
log4js.configure({
appenders: { consoleLog: { type: 'console' } },
categories: { default: { appenders: ['consoleLog'], level: loggerLevel } },
});
app.use(cors({ origin: whitelist }));
app.use(bodyParser());
app.use(respond({
statusMethods: { accepted: 202, conflict: 409, unprocessableEntity: 422 },
}));
app.use(errorHandler());
app.use(routes.routes());
app.listen(port, logger.info(`Server is running on port ${port}`));