@azteam/express 1.2.489 → 1.2.492
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Server.js +73 -43
- package/package.json +1 -1
- package/src/Server.js +73 -41
package/lib/Server.js
CHANGED
|
@@ -53,10 +53,9 @@ function compressJson(message) {
|
|
|
53
53
|
return _pako["default"].deflate(JSON.stringify(message));
|
|
54
54
|
}
|
|
55
55
|
var Server = /*#__PURE__*/function () {
|
|
56
|
-
function Server(
|
|
57
|
-
var
|
|
58
|
-
var
|
|
59
|
-
var errorCallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
|
|
56
|
+
function Server() {
|
|
57
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
58
|
+
var errorCallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
|
|
60
59
|
_classCallCheck(this, Server);
|
|
61
60
|
this.options = _objectSpread(_objectSpread({
|
|
62
61
|
redis: null,
|
|
@@ -81,43 +80,10 @@ var Server = /*#__PURE__*/function () {
|
|
|
81
80
|
});
|
|
82
81
|
this.middlewares = [];
|
|
83
82
|
this.controllers = [];
|
|
84
|
-
|
|
85
|
-
return _this.initController(dir);
|
|
86
|
-
});
|
|
83
|
+
this.socketEvents = [];
|
|
87
84
|
this.callbackError = errorCallback;
|
|
88
85
|
}
|
|
89
86
|
_createClass(Server, [{
|
|
90
|
-
key: "addController",
|
|
91
|
-
value: function addController(name, version, controller) {
|
|
92
|
-
this.controllers.push({
|
|
93
|
-
name: name,
|
|
94
|
-
version: version,
|
|
95
|
-
controller: controller
|
|
96
|
-
});
|
|
97
|
-
return this;
|
|
98
|
-
}
|
|
99
|
-
}, {
|
|
100
|
-
key: "initController",
|
|
101
|
-
value: function initController(apiDir) {
|
|
102
|
-
var excludeList = this.options.excludeList;
|
|
103
|
-
if (_fs["default"].existsSync(apiDir)) {
|
|
104
|
-
var controllerDirs = _fs["default"].readdirSync(apiDir);
|
|
105
|
-
for (var i = 0; i < controllerDirs.length; i += 1) {
|
|
106
|
-
var dirName = controllerDirs[i];
|
|
107
|
-
if (_fs["default"].statSync("".concat(apiDir, "/").concat(dirName)).isDirectory()) {
|
|
108
|
-
var versionDirs = _lodash["default"].differenceWith(_fs["default"].readdirSync("".concat(apiDir, "/").concat(dirName)), excludeList);
|
|
109
|
-
for (var j = 0; j < versionDirs.length; j += 1) {
|
|
110
|
-
var versionName = versionDirs[j];
|
|
111
|
-
// eslint-disable-next-line global-require,import/no-dynamic-require
|
|
112
|
-
var controller = require("".concat(apiDir, "/").concat(dirName, "/").concat(versionName, "/controller"))["default"];
|
|
113
|
-
this.addController(dirName, versionName, controller);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
return this;
|
|
119
|
-
}
|
|
120
|
-
}, {
|
|
121
87
|
key: "createExpressApp",
|
|
122
88
|
value: function createExpressApp() {
|
|
123
89
|
var _this$options = this.options,
|
|
@@ -162,10 +128,45 @@ var Server = /*#__PURE__*/function () {
|
|
|
162
128
|
}
|
|
163
129
|
return app;
|
|
164
130
|
}
|
|
131
|
+
}, {
|
|
132
|
+
key: "addController",
|
|
133
|
+
value: function addController(name, version, controller) {
|
|
134
|
+
this.controllers.push({
|
|
135
|
+
name: name,
|
|
136
|
+
version: version,
|
|
137
|
+
controller: controller
|
|
138
|
+
});
|
|
139
|
+
return this;
|
|
140
|
+
}
|
|
141
|
+
}, {
|
|
142
|
+
key: "initController",
|
|
143
|
+
value: function initController(apiDir) {
|
|
144
|
+
var excludeList = this.options.excludeList;
|
|
145
|
+
if (_fs["default"].existsSync(apiDir)) {
|
|
146
|
+
var controllerDirs = _fs["default"].readdirSync(apiDir);
|
|
147
|
+
for (var i = 0; i < controllerDirs.length; i += 1) {
|
|
148
|
+
var dirName = controllerDirs[i];
|
|
149
|
+
if (_fs["default"].statSync("".concat(apiDir, "/").concat(dirName)).isDirectory()) {
|
|
150
|
+
var versionDirs = _lodash["default"].differenceWith(_fs["default"].readdirSync("".concat(apiDir, "/").concat(dirName)), excludeList);
|
|
151
|
+
for (var j = 0; j < versionDirs.length; j += 1) {
|
|
152
|
+
var versionName = versionDirs[j];
|
|
153
|
+
// eslint-disable-next-line global-require,import/no-dynamic-require
|
|
154
|
+
var controller = require("".concat(apiDir, "/").concat(dirName, "/").concat(versionName, "/controller"))["default"];
|
|
155
|
+
this.addController(dirName, versionName, controller);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return this;
|
|
161
|
+
}
|
|
165
162
|
}, {
|
|
166
163
|
key: "startAPI",
|
|
167
164
|
value: function startAPI(port) {
|
|
168
|
-
var
|
|
165
|
+
var _this = this;
|
|
166
|
+
var serviceDirs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
167
|
+
serviceDirs.map(function (dir) {
|
|
168
|
+
return _this.initController(dir);
|
|
169
|
+
});
|
|
169
170
|
if (!_lodash["default"].isEmpty(this.controllers)) {
|
|
170
171
|
var cookieOption = this.options.cookieOption;
|
|
171
172
|
var app = this.createExpressApp();
|
|
@@ -358,8 +359,8 @@ var Server = /*#__PURE__*/function () {
|
|
|
358
359
|
if (process.env.NODE_ENV === 'development') {
|
|
359
360
|
console.log(error.errors);
|
|
360
361
|
}
|
|
361
|
-
if (
|
|
362
|
-
|
|
362
|
+
if (_this.callbackError) {
|
|
363
|
+
_this.callbackError(error, req.originalUrl);
|
|
363
364
|
}
|
|
364
365
|
if (req.callbackError) {
|
|
365
366
|
req.callbackError(error);
|
|
@@ -402,18 +403,47 @@ var Server = /*#__PURE__*/function () {
|
|
|
402
403
|
}
|
|
403
404
|
throw new Error('No controllers in use API');
|
|
404
405
|
}
|
|
406
|
+
}, {
|
|
407
|
+
key: "initSocketEvent",
|
|
408
|
+
value: function initSocketEvent(socketDir) {
|
|
409
|
+
var excludeList = this.options.excludeList;
|
|
410
|
+
if (_fs["default"].existsSync(socketDir)) {
|
|
411
|
+
var controllerDirs = _fs["default"].readdirSync(socketDir);
|
|
412
|
+
for (var i = 0; i < controllerDirs.length; i += 1) {
|
|
413
|
+
var dirName = controllerDirs[i];
|
|
414
|
+
if (_fs["default"].statSync("".concat(socketDir, "/").concat(dirName)).isDirectory()) {
|
|
415
|
+
var versionDirs = _lodash["default"].differenceWith(_fs["default"].readdirSync("".concat(socketDir, "/").concat(dirName)), excludeList);
|
|
416
|
+
for (var j = 0; j < versionDirs.length; j += 1) {
|
|
417
|
+
// const versionName = versionDirs[j];
|
|
418
|
+
// // eslint-disable-next-line global-require,import/no-dynamic-require
|
|
419
|
+
// const controller = require(`${apiDir}/${dirName}/${versionName}/controller`).default;
|
|
420
|
+
// this.addController(dirName, versionName, controller);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
return this;
|
|
426
|
+
}
|
|
405
427
|
}, {
|
|
406
428
|
key: "startSocket",
|
|
407
429
|
value: function startSocket(port) {
|
|
408
|
-
|
|
430
|
+
var _this4 = this;
|
|
431
|
+
var serviceDirs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
432
|
+
serviceDirs.map(function (dir) {
|
|
433
|
+
return _this4.initSocketEvent(dir);
|
|
434
|
+
});
|
|
435
|
+
if (!_lodash["default"].isEmpty(this.socketEvents)) {
|
|
409
436
|
var httpServer = (0, _http.createServer)();
|
|
410
437
|
var app = this.createExpressApp();
|
|
411
438
|
httpServer.on('request', app);
|
|
412
439
|
var io = new _socket.Server(httpServer);
|
|
413
440
|
httpServer.listen(port);
|
|
441
|
+
httpServer.on('listening', function () {
|
|
442
|
+
console.log('listening', "ServerIO start at http://localhost:".concat(httpServer.address().port));
|
|
443
|
+
});
|
|
414
444
|
return io;
|
|
415
445
|
}
|
|
416
|
-
throw new Error('No
|
|
446
|
+
throw new Error('No events in use SOCKET');
|
|
417
447
|
}
|
|
418
448
|
}]);
|
|
419
449
|
return Server;
|
package/package.json
CHANGED
package/src/Server.js
CHANGED
|
@@ -30,7 +30,7 @@ function compressJson(message) {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
class Server {
|
|
33
|
-
constructor(
|
|
33
|
+
constructor(options = {}, errorCallback = () => {}) {
|
|
34
34
|
this.options = {
|
|
35
35
|
redis: null,
|
|
36
36
|
whiteList: null,
|
|
@@ -54,46 +54,11 @@ class Server {
|
|
|
54
54
|
|
|
55
55
|
this.middlewares = [];
|
|
56
56
|
this.controllers = [];
|
|
57
|
-
|
|
58
|
-
serviceDirs.map((dir) => {
|
|
59
|
-
return this.initController(dir);
|
|
60
|
-
});
|
|
57
|
+
this.socketEvents = [];
|
|
61
58
|
|
|
62
59
|
this.callbackError = errorCallback;
|
|
63
60
|
}
|
|
64
61
|
|
|
65
|
-
addController(name, version, controller) {
|
|
66
|
-
this.controllers.push({
|
|
67
|
-
name,
|
|
68
|
-
version,
|
|
69
|
-
controller,
|
|
70
|
-
});
|
|
71
|
-
return this;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
initController(apiDir) {
|
|
75
|
-
const {excludeList} = this.options;
|
|
76
|
-
|
|
77
|
-
if (fs.existsSync(apiDir)) {
|
|
78
|
-
const controllerDirs = fs.readdirSync(apiDir);
|
|
79
|
-
|
|
80
|
-
for (let i = 0; i < controllerDirs.length; i += 1) {
|
|
81
|
-
const dirName = controllerDirs[i];
|
|
82
|
-
|
|
83
|
-
if (fs.statSync(`${apiDir}/${dirName}`).isDirectory()) {
|
|
84
|
-
const versionDirs = _.differenceWith(fs.readdirSync(`${apiDir}/${dirName}`), excludeList);
|
|
85
|
-
for (let j = 0; j < versionDirs.length; j += 1) {
|
|
86
|
-
const versionName = versionDirs[j];
|
|
87
|
-
// eslint-disable-next-line global-require,import/no-dynamic-require
|
|
88
|
-
const controller = require(`${apiDir}/${dirName}/${versionName}/controller`).default;
|
|
89
|
-
this.addController(dirName, versionName, controller);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return this;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
62
|
createExpressApp() {
|
|
98
63
|
const {whiteList, systemUser} = this.options;
|
|
99
64
|
|
|
@@ -141,7 +106,43 @@ class Server {
|
|
|
141
106
|
return app;
|
|
142
107
|
}
|
|
143
108
|
|
|
144
|
-
|
|
109
|
+
addController(name, version, controller) {
|
|
110
|
+
this.controllers.push({
|
|
111
|
+
name,
|
|
112
|
+
version,
|
|
113
|
+
controller,
|
|
114
|
+
});
|
|
115
|
+
return this;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
initController(apiDir) {
|
|
119
|
+
const {excludeList} = this.options;
|
|
120
|
+
|
|
121
|
+
if (fs.existsSync(apiDir)) {
|
|
122
|
+
const controllerDirs = fs.readdirSync(apiDir);
|
|
123
|
+
|
|
124
|
+
for (let i = 0; i < controllerDirs.length; i += 1) {
|
|
125
|
+
const dirName = controllerDirs[i];
|
|
126
|
+
|
|
127
|
+
if (fs.statSync(`${apiDir}/${dirName}`).isDirectory()) {
|
|
128
|
+
const versionDirs = _.differenceWith(fs.readdirSync(`${apiDir}/${dirName}`), excludeList);
|
|
129
|
+
for (let j = 0; j < versionDirs.length; j += 1) {
|
|
130
|
+
const versionName = versionDirs[j];
|
|
131
|
+
// eslint-disable-next-line global-require,import/no-dynamic-require
|
|
132
|
+
const controller = require(`${apiDir}/${dirName}/${versionName}/controller`).default;
|
|
133
|
+
this.addController(dirName, versionName, controller);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return this;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
startAPI(port, serviceDirs = []) {
|
|
142
|
+
serviceDirs.map((dir) => {
|
|
143
|
+
return this.initController(dir);
|
|
144
|
+
});
|
|
145
|
+
|
|
145
146
|
if (!_.isEmpty(this.controllers)) {
|
|
146
147
|
const {cookieOption} = this.options;
|
|
147
148
|
const app = this.createExpressApp();
|
|
@@ -384,8 +385,35 @@ class Server {
|
|
|
384
385
|
throw new Error('No controllers in use API');
|
|
385
386
|
}
|
|
386
387
|
|
|
387
|
-
|
|
388
|
-
|
|
388
|
+
initSocketEvent(socketDir) {
|
|
389
|
+
const {excludeList} = this.options;
|
|
390
|
+
|
|
391
|
+
if (fs.existsSync(socketDir)) {
|
|
392
|
+
const controllerDirs = fs.readdirSync(socketDir);
|
|
393
|
+
|
|
394
|
+
for (let i = 0; i < controllerDirs.length; i += 1) {
|
|
395
|
+
const dirName = controllerDirs[i];
|
|
396
|
+
|
|
397
|
+
if (fs.statSync(`${socketDir}/${dirName}`).isDirectory()) {
|
|
398
|
+
const versionDirs = _.differenceWith(fs.readdirSync(`${socketDir}/${dirName}`), excludeList);
|
|
399
|
+
for (let j = 0; j < versionDirs.length; j += 1) {
|
|
400
|
+
// const versionName = versionDirs[j];
|
|
401
|
+
// // eslint-disable-next-line global-require,import/no-dynamic-require
|
|
402
|
+
// const controller = require(`${apiDir}/${dirName}/${versionName}/controller`).default;
|
|
403
|
+
// this.addController(dirName, versionName, controller);
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
return this;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
startSocket(port, serviceDirs = []) {
|
|
412
|
+
serviceDirs.map((dir) => {
|
|
413
|
+
return this.initSocketEvent(dir);
|
|
414
|
+
});
|
|
415
|
+
|
|
416
|
+
if (!_.isEmpty(this.socketEvents)) {
|
|
389
417
|
const httpServer = createServer();
|
|
390
418
|
const app = this.createExpressApp();
|
|
391
419
|
httpServer.on('request', app);
|
|
@@ -393,10 +421,14 @@ class Server {
|
|
|
393
421
|
const io = new SocketIO(httpServer);
|
|
394
422
|
httpServer.listen(port);
|
|
395
423
|
|
|
424
|
+
httpServer.on('listening', () => {
|
|
425
|
+
console.log('listening', `ServerIO start at http://localhost:${httpServer.address().port}`);
|
|
426
|
+
});
|
|
427
|
+
|
|
396
428
|
return io;
|
|
397
429
|
}
|
|
398
430
|
|
|
399
|
-
throw new Error('No
|
|
431
|
+
throw new Error('No events in use SOCKET');
|
|
400
432
|
}
|
|
401
433
|
}
|
|
402
434
|
|