-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
executable file
·140 lines (105 loc) · 3.6 KB
/
main.js
File metadata and controls
executable file
·140 lines (105 loc) · 3.6 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
'use strict';
/**
* _... = require module !!!!
*/
let _Config = require('./config'); //load process env.
let _Mongo = require('./model/modelMongo');
let _Redis = require('./model/modelRedis');
let _BodyParser = require('body-parser');
let _Express = require('express');
let _Manager = require('./manager');
let _ = require('./util/MyUnderscore');
let mongodb = new _Mongo(process.env.mongodbIP, process.env.mongodbPort);
let redis = new _Redis(process.env.redisIP, process.env.redisPort);
let manager = new _Manager(redis);
let app = _Express();
global.config = _Config;
global._ = _;
/**
* process exit
*/
process.on('exit', () =>{
});
/**
* exit with remove cid
*/
global.exit = function() {
manager.exitProcess();
};
/**
* for forever using
*/
process.on('SIGTERM', ()=>{
console.log(`SIGTERM exit`);
global.exit();
});
/**
* for control-c using
*/
process.on('SIGINT', () => {
console.log(`SIGINT exit`);
global.exit();
});
/**
* for exception using
*/
// process.on('unhandledRejection', (reason)=>{
// console.log('Unhandled Rejection reason : ', reason);
// global.exit();
// });
/**
* for uncaught Exception
*/
// process.on('uncaughtException', (err)=>{
// console.log('uncaught Exception err : ', err);
// global.exit();
// });
/**
* for rejeact handled
*/
// process.on('rejectionHandled', (promise) => {
// console.log('rejectionHandled promise : ', promise);
// global.exit();
// });
/**
* start Server with controller and express api
*/
var StartServer = ()=>
{
//set directory for public
app.use(_Express.static(__dirname + '/public'));
// parse application/json with 50 mb
app.use(_BodyParser.json({limit: '100mb'}));
app.use(_BodyParser.urlencoded({limit: '100mb', extended: true}));
let _ControllerWeb3 = require('./controller/controllerWeb3');
var controllerWeb3 = new _ControllerWeb3(mongodb, redis);
/**
* request get for website
*/
app.get('/', controllerWeb3.loadIndexhtml);
app.get('/contract/3/form', controllerWeb3.loadfrom3.bind(controllerWeb3));
app.get('/contract/4/form', controllerWeb3.loadfrom4.bind(controllerWeb3));
app.get('/contract/5/form', controllerWeb3.loadfrom5.bind(controllerWeb3));
app.get('/contract/6/form', controllerWeb3.loadfrom6.bind(controllerWeb3));
app.get('/contract/8/form', controllerWeb3.loadfrom8.bind(controllerWeb3));
app.get('/contract/3Eng/form', controllerWeb3.loadfrom3Eng.bind(controllerWeb3));
app.get('/contract/4Eng/form', controllerWeb3.loadfrom4Eng.bind(controllerWeb3));
app.get('/contract/5Eng/form', controllerWeb3.loadfrom5Eng.bind(controllerWeb3));
app.get('/contract/6Eng/form', controllerWeb3.loadfrom6Eng.bind(controllerWeb3));
app.get('/contract/8Eng/form', controllerWeb3.loadfrom8Eng.bind(controllerWeb3));
app.get('/show/contract', controllerWeb3.loadGetForm.bind(controllerWeb3));
/**
* request get for api
*/
app.get('/admin', controllerWeb3.adminCorrect.bind(controllerWeb3));
app.get('/api/users/agency', controllerWeb3.getContractBalanceByAgent.bind(controllerWeb3));
app.get('/api/users/balance', controllerWeb3.getContractBalance.bind(controllerWeb3));
app.get('/api/users/contracts', controllerWeb3.getContracts.bind(controllerWeb3));
/**
* request post for api
*/
app.post('/process', controllerWeb3.contractCallback.bind(controllerWeb3));
app.listen(process.env.port, controllerWeb3.initServerWithPortCallback);
}
manager.on('settings_loaded', StartServer);
manager.serverInit();