This repository was archived by the owner on Oct 27, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathapp.js
More file actions
50 lines (44 loc) · 1.59 KB
/
app.js
File metadata and controls
50 lines (44 loc) · 1.59 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
"use strict";
// Environment variables ///////////////////////////////////////////////////////
require('dotenv').config({
path: ".env"
});
const { logger } = require('./units/logger');
// database
const {migrate, connection, Map, History} = require("./db/modelsB.js");
const argv = require('yargs')
.option('port', {
describe: "Port to expose app endpoint",
demandOption: true,
type: "number",
default: 9030
}).help()
.argv;
const localconfig = require('./localconfig');
logger.debug(argv);
const util = require('util');
// external dependencies ///////////////////////////////////////////////////////
const compression = require('compression');
const express = require('express');
const apicache = require('apicache').options({ debug: false }).middleware;
const morgan = require('morgan');
////////////////////////////////////////////////////////////////////////////////
const app = express();
const config = require('./config');
// compress all responses @see https://www.npmjs.com/package/compression#examples
app.use(compression());
//NEXT TWO LINES FOR READ BODY FROM POST
app.use(morgan('common'));
// load urls routes
require('./urls.js')(app, apicache);
// load cache autorequests
require('./cache');
// load statistic periodically update
require('./units/stats');
const server = app.listen(argv.port, async function() {
logger.info('Initializing app...');
await migrate();
logger.info(`Database loaded, tables created if needed`);
const { port, address } = server.address();
logger.info(`${config.appname} listening at http://${address}:${port}`);
});