-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathapp.js
More file actions
36 lines (32 loc) · 1.08 KB
/
app.js
File metadata and controls
36 lines (32 loc) · 1.08 KB
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
30
31
32
33
34
35
36
'use strict';
const setTZ = require('set-tz');
setTZ('Asia/Calcutta');
const express = require('express');
const cors = require('cors');
const compression = require('compression');
const httpStatus = require('http-status');
const bodyParser = require('body-parser');
const { webConfig } = require('./config');
const apiAuth = require('./middlewares/api-auth');
const errorHandler = require('./middlewares/error-handler');
const errorLogger = require('./middlewares/error-logger');
const routes = require('./routes');
const logger = require('./utils/logger');
console.log(new Date().toString());
const app = express();
app.use(cors());
app.use(compression());
app.use(bodyParser.json({ limit: '500kb' }));
app.use(bodyParser.urlencoded({ extended: true }));
app.use('/api/ping', (req, res) => res.sendStatus(httpStatus.OK));
app.use('/api', apiAuth, routes);
app.use(errorHandler);
app.use(errorLogger);
const server = app.listen(webConfig.port, () =>
logger.info(`API running on port ${webConfig.port}.`)
);
server.keepAliveTimeout = 65000;
server.headersTimeout = 66000;
module.exports = {
app,
};