@nsshunt/stsappframework 3.1.234 → 3.1.235
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/.github/workflows/npm-publish.yml +18 -29
- package/build.sh +12 -6
- package/eslint.config.mjs +7 -0
- package/package.json +11 -14
- package/.eslintrc.json +0 -27
- package/babel.config.json +0 -6
- package/dist/commonTypes.js +0 -69
- package/dist/commonTypes.js.map +0 -1
- package/dist/controller/stscontrollerbase.js +0 -14
- package/dist/controller/stscontrollerbase.js.map +0 -1
- package/dist/controller/stslatencycontroller.js +0 -28
- package/dist/controller/stslatencycontroller.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger/stsTransportLoggerWinston.js +0 -22
- package/dist/logger/stsTransportLoggerWinston.js.map +0 -1
- package/dist/logger/stsTransportWinston.js +0 -43
- package/dist/logger/stsTransportWinston.js.map +0 -1
- package/dist/middleware/serverNetworkMiddleware.js +0 -199
- package/dist/middleware/serverNetworkMiddleware.js.map +0 -1
- package/dist/network.js +0 -38
- package/dist/network.js.map +0 -1
- package/dist/process/masterprocessbase.js +0 -558
- package/dist/process/masterprocessbase.js.map +0 -1
- package/dist/process/processbase.js +0 -411
- package/dist/process/processbase.js.map +0 -1
- package/dist/process/serverprocessbase.js +0 -401
- package/dist/process/serverprocessbase.js.map +0 -1
- package/dist/process/singleprocessbase.js +0 -55
- package/dist/process/singleprocessbase.js.map +0 -1
- package/dist/process/workerprocessbase.js +0 -210
- package/dist/process/workerprocessbase.js.map +0 -1
- package/dist/publishertransports/publishTransportUtils.js +0 -47
- package/dist/publishertransports/publishTransportUtils.js.map +0 -1
- package/dist/route/stslatencyroute.js +0 -15
- package/dist/route/stslatencyroute.js.map +0 -1
- package/dist/route/stsrouterbase.js +0 -21
- package/dist/route/stsrouterbase.js.map +0 -1
- package/dist/stsexpressserver.js +0 -115
- package/dist/stsexpressserver.js.map +0 -1
- package/dist/validation/errors.js +0 -10
- package/dist/validation/errors.js.map +0 -1
- package/dist/vitesttesting/appConfig.js +0 -93
- package/dist/vitesttesting/appConfig.js.map +0 -1
- package/dist/vitesttesting/appSingleWSS.js +0 -122
- package/dist/vitesttesting/appSingleWSS.js.map +0 -1
- package/dist/vitesttesting/server.js +0 -15
- package/dist/vitesttesting/server.js.map +0 -1
- package/dist/vitesttesting/singleservertest.test.js +0 -286
- package/dist/vitesttesting/singleservertest.test.js.map +0 -1
- package/dist/vitesttesting/wsevents.js +0 -3
- package/dist/vitesttesting/wsevents.js.map +0 -1
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.WorkerProcessBase = void 0;
|
|
7
|
-
/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF
|
|
8
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
-
const stsobservability_1 = require("@nsshunt/stsobservability");
|
|
10
|
-
const commonTypes_1 = require("./../commonTypes");
|
|
11
|
-
const serverprocessbase_1 = require("./serverprocessbase");
|
|
12
|
-
const uuid_1 = require("uuid");
|
|
13
|
-
const stsconfig_1 = require("@nsshunt/stsconfig");
|
|
14
|
-
const systeminformation_1 = __importDefault(require("systeminformation")); // https://systeminformation.io/
|
|
15
|
-
const network_1 = require("./../network");
|
|
16
|
-
/**
|
|
17
|
-
* todo
|
|
18
|
-
* @typedef {Object} options - todo
|
|
19
|
-
* @property {boolean} [wssServer=false] - Create a web socket server on this worker instance
|
|
20
|
-
*/
|
|
21
|
-
class WorkerProcessBase extends serverprocessbase_1.ServerProcessBase {
|
|
22
|
-
#inFlightMessage = {};
|
|
23
|
-
#requestResponseMessageTimeout = 5000; //@@ config
|
|
24
|
-
#pingTimeout = null;
|
|
25
|
-
constructor(options) {
|
|
26
|
-
super(options);
|
|
27
|
-
}
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
29
|
-
ReceivedMessageFromMaster(msg) {
|
|
30
|
-
// Override in subclass if required
|
|
31
|
-
}
|
|
32
|
-
CollectAdditionalTelemetry() {
|
|
33
|
-
this.httpServer.getConnections((error, count) => {
|
|
34
|
-
//@@this.instruments[Gauge.CONNECTION_COUNT_GAUGE].val = count;
|
|
35
|
-
this.UpdateInstrument(stsobservability_1.Gauge.CONNECTION_COUNT_GAUGE, {
|
|
36
|
-
val: count
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
#SendMessageToParentProcess = (message) => {
|
|
41
|
-
return new Promise((resolve, reject) => {
|
|
42
|
-
if (this.#inFlightMessage[message.id]) {
|
|
43
|
-
reject(`Message with id: [${message.id}] already exists within the Request/Response record structure`);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.#inFlightMessage[message.id] = {
|
|
47
|
-
iPCMessagePayload: { ...message },
|
|
48
|
-
cb: () => {
|
|
49
|
-
const detail = this.#inFlightMessage[message.id].iPCMessagePayload.responseDetail;
|
|
50
|
-
clearTimeout(this.#inFlightMessage[message.id].timeout);
|
|
51
|
-
setTimeout(() => {
|
|
52
|
-
delete this.#inFlightMessage[message.id];
|
|
53
|
-
}, 0).unref();
|
|
54
|
-
//this.#LogDebugMessage(chalk.green(`Resolving response message with id: [${message.id}] from parent process via IPC. Details: [${JSON.stringify(this.#inFlightMessage[message.id].iPCMessagePayload)}]`));
|
|
55
|
-
resolve(detail);
|
|
56
|
-
},
|
|
57
|
-
timeout: setTimeout(() => {
|
|
58
|
-
setTimeout(() => {
|
|
59
|
-
delete this.#inFlightMessage[message.id];
|
|
60
|
-
}, 0).unref();
|
|
61
|
-
//this.#LogDebugMessage(chalk.red(`Timeout has occurred after: [${this.#requestResponseMessageTimeout}]ms with message id: [${message.id}]. Details: [${JSON.stringify(this.#inFlightMessage[message.id].iPCMessagePayload)}]`));
|
|
62
|
-
reject('Did not receive response form parent process.');
|
|
63
|
-
}, this.#requestResponseMessageTimeout) // max message timeout allowed
|
|
64
|
-
};
|
|
65
|
-
//this.#LogDebugMessage(chalk.yellow(`Sending message with id: [${message.id}] to parent process via IPC. Details: [${JSON.stringify(this.#inFlightMessage[message.id].iPCMessagePayload)}]`));
|
|
66
|
-
process.send(message);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
AddWorker = async (options) => {
|
|
71
|
-
const workerResponse = await this.#SendMessageToParentProcess({
|
|
72
|
-
requestResponse: true,
|
|
73
|
-
id: (0, uuid_1.v4)(),
|
|
74
|
-
command: commonTypes_1.IPCMessageCommand.AddWorker,
|
|
75
|
-
requestDetail: {
|
|
76
|
-
options
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
return workerResponse.workerId;
|
|
80
|
-
};
|
|
81
|
-
DeleteWorker = async (workerId, options) => {
|
|
82
|
-
const workerResponse = await this.#SendMessageToParentProcess({
|
|
83
|
-
requestResponse: true,
|
|
84
|
-
id: (0, uuid_1.v4)(),
|
|
85
|
-
command: commonTypes_1.IPCMessageCommand.DeleteWorker,
|
|
86
|
-
requestDetail: {
|
|
87
|
-
options,
|
|
88
|
-
workerId
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
return workerResponse;
|
|
92
|
-
};
|
|
93
|
-
GetMasterProcessOptions = async () => {
|
|
94
|
-
const parentResponse = await this.#SendMessageToParentProcess({
|
|
95
|
-
requestResponse: true,
|
|
96
|
-
id: (0, uuid_1.v4)(),
|
|
97
|
-
command: commonTypes_1.IPCMessageCommand.GetConfig,
|
|
98
|
-
requestDetail: {}
|
|
99
|
-
});
|
|
100
|
-
return parentResponse;
|
|
101
|
-
};
|
|
102
|
-
GetNumCPUs = async () => {
|
|
103
|
-
// https://systeminformation.io/
|
|
104
|
-
const valueObject = {
|
|
105
|
-
cpu: '*'
|
|
106
|
-
};
|
|
107
|
-
const sysinfo = await systeminformation_1.default.get(valueObject);
|
|
108
|
-
let numCPUs = 2;
|
|
109
|
-
if (stsconfig_1.goptions.useCPUs > 0) {
|
|
110
|
-
if (stsconfig_1.goptions.useCPUs >= 1) {
|
|
111
|
-
numCPUs = stsconfig_1.goptions.useCPUs;
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
numCPUs = Math.round(sysinfo.cpu.cores * stsconfig_1.goptions.useCPUs);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
numCPUs = sysinfo.cpu.physicalCores;
|
|
119
|
-
}
|
|
120
|
-
return numCPUs;
|
|
121
|
-
};
|
|
122
|
-
GetSystemTelemetry = async () => {
|
|
123
|
-
// https://systeminformation.io/
|
|
124
|
-
const valueObject = {
|
|
125
|
-
system: '*',
|
|
126
|
-
osInfo: '*',
|
|
127
|
-
cpu: '*',
|
|
128
|
-
mem: '*',
|
|
129
|
-
dockerInfo: '*',
|
|
130
|
-
//dockerImages: '*',
|
|
131
|
-
dockerContainers: '*',
|
|
132
|
-
};
|
|
133
|
-
const sysinfo = await systeminformation_1.default.get(valueObject);
|
|
134
|
-
const numCPUs = await this.GetNumCPUs();
|
|
135
|
-
const hostname = sysinfo.osInfo.hostname;
|
|
136
|
-
const hostaddr = (0, network_1.GetFirstNetworkInterface)();
|
|
137
|
-
const promArray = [];
|
|
138
|
-
sysinfo.dockerContainers.forEach((dc) => {
|
|
139
|
-
const dcs = promArray.push(systeminformation_1.default.dockerContainerStats(dc.id));
|
|
140
|
-
console.log(dcs);
|
|
141
|
-
});
|
|
142
|
-
const dockerContainerStats = await Promise.all(promArray);
|
|
143
|
-
const sysInfo = {
|
|
144
|
-
serviceInstanceId: this.options.serviceInstanceId,
|
|
145
|
-
serviceProcessContext: this.options.serviceProcessContext,
|
|
146
|
-
hostname,
|
|
147
|
-
numCPUs,
|
|
148
|
-
hostaddr,
|
|
149
|
-
system: sysinfo.system,
|
|
150
|
-
osInfo: sysinfo.osInfo,
|
|
151
|
-
cpu: sysinfo.cpu,
|
|
152
|
-
mem: sysinfo.mem,
|
|
153
|
-
dockerInfo: sysinfo.dockerInfo,
|
|
154
|
-
dockerContainers: sysinfo.dockerContainers,
|
|
155
|
-
dockerContainerStats
|
|
156
|
-
};
|
|
157
|
-
return sysInfo;
|
|
158
|
-
};
|
|
159
|
-
SetupServerEx = async () => {
|
|
160
|
-
await super.SetupServerEx();
|
|
161
|
-
process.on('message', async (msg) => {
|
|
162
|
-
if (msg.requestResponse) {
|
|
163
|
-
const iPCMessagePayload = msg;
|
|
164
|
-
if (iPCMessagePayload.id) {
|
|
165
|
-
if (this.#inFlightMessage[iPCMessagePayload.id]) {
|
|
166
|
-
const responseMessage = this.#inFlightMessage[iPCMessagePayload.id];
|
|
167
|
-
responseMessage.iPCMessagePayload.responseDetail = { ...iPCMessagePayload.responseDetail };
|
|
168
|
-
responseMessage.cb();
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
throw new Error(`Could not find Request/Response message with id: [${iPCMessagePayload.id}]`);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
throw new Error(`Message does not have id attribute. [${JSON.stringify(iPCMessagePayload)}]`);
|
|
176
|
-
}
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
if (msg.command) //@@ constants
|
|
180
|
-
{
|
|
181
|
-
switch (msg.command) {
|
|
182
|
-
case 'Terminate':
|
|
183
|
-
this.LogInfoMessage(chalk_1.default.grey(`Received ` + chalk_1.default.bold.italic(`Terminate`) + ` message from master thread`));
|
|
184
|
-
await this.Terminate(true, false); // Don't kill the child process here, the master will take care of that ...
|
|
185
|
-
break;
|
|
186
|
-
case 'TerminateAndKill':
|
|
187
|
-
this.LogInfoMessage(chalk_1.default.grey(`Received ` + chalk_1.default.bold.italic(`Terminate`) + ` message from master thread`));
|
|
188
|
-
await this.Terminate(true, true);
|
|
189
|
-
break;
|
|
190
|
-
case 'Message':
|
|
191
|
-
//this.LogInfoMessage(chalk.grey(`Received ` + chalk.bold.italic(`Message`) + ` message from master thread`));
|
|
192
|
-
this.ReceivedMessageFromMaster(msg.data);
|
|
193
|
-
break;
|
|
194
|
-
case 'Response': // General response to a req/response interaction
|
|
195
|
-
//msg.details
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
return true;
|
|
200
|
-
};
|
|
201
|
-
ProcessTerminate() {
|
|
202
|
-
//this.#redisMessageHandler?.off()
|
|
203
|
-
if (this.#pingTimeout) {
|
|
204
|
-
clearTimeout(this.#pingTimeout);
|
|
205
|
-
}
|
|
206
|
-
return super.ProcessTerminate();
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
exports.WorkerProcessBase = WorkerProcessBase;
|
|
210
|
-
//# sourceMappingURL=workerprocessbase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workerprocessbase.js","sourceRoot":"","sources":["../../src/process/workerprocessbase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PublishTransportUtils = void 0;
|
|
4
|
-
const stsutils_1 = require("@nsshunt/stsutils");
|
|
5
|
-
class PublishTransportUtils {
|
|
6
|
-
static GetServiceContext(nid) {
|
|
7
|
-
// Return null if no context is required
|
|
8
|
-
//return null;
|
|
9
|
-
if (nid === stsutils_1.ModelDelimeter.ROOT) {
|
|
10
|
-
return { root: stsutils_1.ModelDelimeter.ROOT };
|
|
11
|
-
}
|
|
12
|
-
const context = { nid };
|
|
13
|
-
const idsplit = nid.split(stsutils_1.ModelDelimeter.SEPERATOR);
|
|
14
|
-
const serviceId = idsplit[0];
|
|
15
|
-
const serviceInstanceId = idsplit[1].split(stsutils_1.ModelDelimeter.NID_SEPERATOR)[0];
|
|
16
|
-
const serviceInstanceProcessId = idsplit[1].split(stsutils_1.ModelDelimeter.NID_SEPERATOR)[1];
|
|
17
|
-
const serviceIdSplit = serviceId.split(stsutils_1.ModelDelimeter.COMPONENT_SEPERATOR);
|
|
18
|
-
const serviceName = serviceIdSplit[0]; // Defined in .env or environment variable
|
|
19
|
-
const serviceVersion = serviceIdSplit[1]; // Defined in .env or environment variable
|
|
20
|
-
context.serviceId = serviceId; // Service name and the service version
|
|
21
|
-
if (typeof serviceInstanceId != 'undefined') {
|
|
22
|
-
const serviceInstanceIdSplit = serviceInstanceId.split(stsutils_1.ModelDelimeter.COMPONENT_SEPERATOR);
|
|
23
|
-
const sid = serviceInstanceIdSplit[0];
|
|
24
|
-
const hostName = serviceInstanceIdSplit[1];
|
|
25
|
-
context.serviceInstanceId = serviceInstanceId; // Service unique id and the host name
|
|
26
|
-
context.sid = sid; // Service unique id only, does not include host
|
|
27
|
-
context.hostName = hostName; // Service Instance Host Name
|
|
28
|
-
if (typeof serviceInstanceProcessId != 'undefined') {
|
|
29
|
-
const serviceInstanceProcessIdSplit = serviceInstanceProcessId.split(stsutils_1.ModelDelimeter.COMPONENT_SEPERATOR);
|
|
30
|
-
const pid = parseInt(serviceInstanceProcessIdSplit[0]);
|
|
31
|
-
const ppid = parseInt(serviceInstanceProcessIdSplit[1]);
|
|
32
|
-
const isMaster = (pid === ppid ? true : false);
|
|
33
|
-
context.serviceInstanceProcessId = serviceInstanceProcessId; // Service Instance OS Process ID (parent process id)
|
|
34
|
-
context.pid = pid; // Service Instance OS Process ID (parent process id)
|
|
35
|
-
context.ppid = ppid; // Service Instance OS Parent Process ID if worker. Will be pid if parent process.
|
|
36
|
-
context.isMaster = isMaster; // True if is Master Process
|
|
37
|
-
context.isWorker = !isMaster; // True if is Worker Process
|
|
38
|
-
context.serviceName = serviceName; // Defined in .env or environment variable
|
|
39
|
-
context.serviceVersion = serviceVersion; // Defined in .env or environment variable
|
|
40
|
-
context.serviceInstanceId = serviceInstanceId; // unique service id with host
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return context;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.PublishTransportUtils = PublishTransportUtils;
|
|
47
|
-
//# sourceMappingURL=publishTransportUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publishTransportUtils.js","sourceRoot":"","sources":["../../src/publishertransports/publishTransportUtils.ts"],"names":[],"mappings":";;;AAAA,gDAAkD;AAGlD,MAAa,qBAAqB;IAE9B,MAAM,CAAC,iBAAiB,CAAC,GAAW;QAChC,wCAAwC;QACxC,cAAc;QACd,IAAI,GAAG,KAAK,yBAAc,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,yBAAc,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;QACD,MAAM,OAAO,GAA2B,EAAE,GAAG,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,yBAAc,CAAC,SAAS,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnF,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,yBAAc,CAAC,mBAAmB,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;QAChF,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;QAEpF,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,uCAAuC;QAEtE,IAAI,OAAO,iBAAiB,IAAI,WAAW,EAAE,CAAC;YAC1C,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,KAAK,CAAC,yBAAc,CAAC,mBAAmB,CAAC,CAAC;YAC3F,MAAM,GAAG,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAE3C,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,sCAAsC;YACrF,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,gDAAgD;YACnE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,6BAA6B;YAE1D,IAAI,OAAO,wBAAwB,IAAI,WAAW,EAAE,CAAC;gBACjD,MAAM,6BAA6B,GAAG,wBAAwB,CAAC,KAAK,CAAC,yBAAc,CAAC,mBAAmB,CAAC,CAAC;gBACzG,MAAM,GAAG,GAAG,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAE/C,OAAO,CAAC,wBAAwB,GAAG,wBAAwB,CAAC,CAAC,qDAAqD;gBAClH,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,qDAAqD;gBACxE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,kFAAkF;gBACvG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,4BAA4B;gBACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,4BAA4B;gBAC1D,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC,0CAA0C;gBAC7E,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,0CAA0C;gBACnF,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAAC,8BAA8B;YACjF,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAjDD,sDAiDC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STSLatencyRoute = void 0;
|
|
4
|
-
const stsrouterbase_1 = require("./stsrouterbase");
|
|
5
|
-
const stslatencycontroller_1 = require("./../controller/stslatencycontroller");
|
|
6
|
-
class STSLatencyRoute extends stsrouterbase_1.STSRouterBase {
|
|
7
|
-
constructor(stsApp) {
|
|
8
|
-
super(stsApp);
|
|
9
|
-
const latencyController = new stslatencycontroller_1.STSLatencyController(stsApp);
|
|
10
|
-
const { stslatency } = latencyController;
|
|
11
|
-
this.router.get('/latency', stslatency.bind(latencyController)); // Create new test
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.STSLatencyRoute = STSLatencyRoute;
|
|
15
|
-
//# sourceMappingURL=stslatencyroute.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stslatencyroute.js","sourceRoot":"","sources":["../../src/route/stslatencyroute.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAC/C,+EAA2E;AAG3E,MAAa,eAAgB,SAAQ,6BAAa;IAC9C,YAAY,MAAoB;QAE5B,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,MAAM,iBAAiB,GAAG,IAAI,2CAAoB,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,kBAAkB;IACvF,CAAC;CACJ;AAVD,0CAUC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STSRouterBase = void 0;
|
|
4
|
-
/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF
|
|
5
|
-
const express_1 = require("express");
|
|
6
|
-
class STSRouterBase {
|
|
7
|
-
#router;
|
|
8
|
-
#stsApp;
|
|
9
|
-
constructor(stsApp) {
|
|
10
|
-
this.#stsApp = stsApp;
|
|
11
|
-
this.#router = (0, express_1.Router)();
|
|
12
|
-
}
|
|
13
|
-
get router() {
|
|
14
|
-
return this.#router;
|
|
15
|
-
}
|
|
16
|
-
get stsApp() {
|
|
17
|
-
return this.#stsApp;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.STSRouterBase = STSRouterBase;
|
|
21
|
-
//# sourceMappingURL=stsrouterbase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stsrouterbase.js","sourceRoot":"","sources":["../../src/route/stsrouterbase.ts"],"names":[],"mappings":";;;AAAA,kDAAkD,CAAE,UAAU;AAC9D,qCAAiC;AAGjC,MAAsB,aAAa;IAC/B,OAAO,CAAS;IAChB,OAAO,CAAM;IAEb,YAAY,MAAoB;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAA,gBAAM,GAAE,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;CACJ;AAhBD,sCAgBC"}
|
package/dist/stsexpressserver.js
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.STSExpressServer = void 0;
|
|
7
|
-
/* eslint @typescript-eslint/no-explicit-any: 0, @typescript-eslint/no-unused-vars: 0 */ // --> OFF
|
|
8
|
-
const express_1 = __importDefault(require("express"));
|
|
9
|
-
const cors_1 = __importDefault(require("cors"));
|
|
10
|
-
const cookie_parser_1 = __importDefault(require("cookie-parser"));
|
|
11
|
-
const stsobservability_1 = require("@nsshunt/stsobservability");
|
|
12
|
-
const stsconfig_1 = require("@nsshunt/stsconfig");
|
|
13
|
-
const stsobservability_2 = require("@nsshunt/stsobservability");
|
|
14
|
-
const serverNetworkMiddleware_1 = require("./middleware/serverNetworkMiddleware");
|
|
15
|
-
class STSExpressServer {
|
|
16
|
-
#app;
|
|
17
|
-
constructor(options, stsApp) {
|
|
18
|
-
// Standard RequestLoggerMiddleware for all STS services
|
|
19
|
-
const requestLoggerMiddleware = new stsobservability_1.RequestLoggerMiddleware({
|
|
20
|
-
ignoresocketio: stsconfig_1.goptions.ignoresocketio
|
|
21
|
-
});
|
|
22
|
-
const serverNetworkMiddleware = new serverNetworkMiddleware_1.ServerNetworkMiddleware({
|
|
23
|
-
name: stsApp.options.serviceName,
|
|
24
|
-
outputDebug: false,
|
|
25
|
-
logger: stsApp.options?.logger
|
|
26
|
-
});
|
|
27
|
-
serverNetworkMiddleware.on(serverNetworkMiddleware_1.ServerNetworkMiddlewareEventName.UpdateInstrument_SERVER_NET_VAL, (data) => {
|
|
28
|
-
//this.#LogInfoMessage(chalk.magenta(`serverNetworkMiddleware: [${JSON.stringify(data)}]`));
|
|
29
|
-
stsApp.UpdateInstrument(stsobservability_2.Gauge.NETWORK_RX_GAUGE, {
|
|
30
|
-
Inc: data.requestBytesRead
|
|
31
|
-
});
|
|
32
|
-
stsApp.UpdateInstrument(stsobservability_2.Gauge.NETWORK_TX_GAUGE, {
|
|
33
|
-
Inc: data.requestBytesWritten
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
requestLoggerMiddleware.on(stsobservability_1.RequestLoggerMiddlewareEventName.UpdateInstrument_AR_INC, () => {
|
|
37
|
-
stsApp.UpdateInstrument(stsobservability_2.Gauge.ACTIVE_REQUEST_GAUGE, {
|
|
38
|
-
Inc: 1
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
requestLoggerMiddleware.on(stsobservability_1.RequestLoggerMiddlewareEventName.UpdateInstrument_AR_DEC, () => {
|
|
42
|
-
stsApp.UpdateInstrument(stsobservability_2.Gauge.ACTIVE_REQUEST_GAUGE, {
|
|
43
|
-
Dec: 1
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
requestLoggerMiddleware.on(stsobservability_1.RequestLoggerMiddlewareEventName.UpdateInstrument_DH_VAL, (timeInMs) => {
|
|
47
|
-
stsApp.UpdateInstrument(stsobservability_2.Gauge.DURATION_HISTOGRAM_GAUGE, {
|
|
48
|
-
val: timeInMs
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
requestLoggerMiddleware.on(stsobservability_1.RequestLoggerMiddlewareEventName.UpdateInstrument_D_VAL, (timeInMs) => {
|
|
52
|
-
stsApp.UpdateInstrument(stsobservability_2.Gauge.DURATION_GAUGE, {
|
|
53
|
-
val: timeInMs
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
requestLoggerMiddleware.on(stsobservability_1.RequestLoggerMiddlewareEventName.UpdateInstrument_RC_INC, () => {
|
|
57
|
-
stsApp.UpdateInstrument(stsobservability_2.Gauge.REQUEST_COUNT_GAUGE, {
|
|
58
|
-
Inc: 1
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
requestLoggerMiddleware.on(stsobservability_1.RequestLoggerMiddlewareEventName.UpdateInstrument_V_INC, () => {
|
|
62
|
-
if (stsApp.InstrumentExists(stsobservability_2.Gauge.VELOCITY_GAUGE)) {
|
|
63
|
-
stsApp.UpdateInstrument(stsobservability_2.Gauge.VELOCITY_GAUGE, {
|
|
64
|
-
Inc: 1
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
const app = (0, express_1.default)();
|
|
69
|
-
this.#app = app;
|
|
70
|
-
// https://stackoverflow.com/questions/19743396/cors-cannot-use-wildcard-in-access-control-allow-origin-when-credentials-flag-i
|
|
71
|
-
// See answer from Christoph Hansen is thread above ...
|
|
72
|
-
// https://expressjs.com/en/resources/middleware/cors.html
|
|
73
|
-
const corsConfig = {
|
|
74
|
-
credentials: true,
|
|
75
|
-
origin: true,
|
|
76
|
-
};
|
|
77
|
-
app.use((0, cors_1.default)(corsConfig));
|
|
78
|
-
app.use((0, cookie_parser_1.default)());
|
|
79
|
-
app.use(express_1.default.urlencoded({ extended: false, limit: stsconfig_1.goptions.maxPayloadSize }));
|
|
80
|
-
app.use(express_1.default.json({ limit: stsconfig_1.goptions.maxPayloadSize }));
|
|
81
|
-
// Allow the static SPA to also be servered by this app
|
|
82
|
-
//app.use('/static', express.static(path.join(__dirname, 'public')))
|
|
83
|
-
if (options.expressServerRouteStaticFactory) {
|
|
84
|
-
options.expressServerRouteStaticFactory(app, stsApp);
|
|
85
|
-
}
|
|
86
|
-
app.use(requestLoggerMiddleware.Middleware.bind(requestLoggerMiddleware));
|
|
87
|
-
app.use(serverNetworkMiddleware.Middleware.bind(serverNetworkMiddleware));
|
|
88
|
-
if (options.expressServerRouteFactory) {
|
|
89
|
-
options.expressServerRouteFactory(app, stsApp);
|
|
90
|
-
}
|
|
91
|
-
// Express error handling fall-back
|
|
92
|
-
app.use(function (err, req, res, next) {
|
|
93
|
-
//@@ add to errors metric here - perhaps break down by type
|
|
94
|
-
if (err) {
|
|
95
|
-
//@@this.#LogInfoMessage(err);
|
|
96
|
-
res.status(err.status).send(err);
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
next();
|
|
100
|
-
}
|
|
101
|
-
/*
|
|
102
|
-
if(err.name === 'UnauthorizedError') {
|
|
103
|
-
res.status(401).send(err);
|
|
104
|
-
} else {
|
|
105
|
-
next();
|
|
106
|
-
}
|
|
107
|
-
*/
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
get App() {
|
|
111
|
-
return this.#app;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
exports.STSExpressServer = STSExpressServer;
|
|
115
|
-
//# sourceMappingURL=stsexpressserver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stsexpressserver.js","sourceRoot":"","sources":["../src/stsexpressserver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AppFrameworkErrorCode = void 0;
|
|
4
|
-
exports.AppFrameworkErrorCode = Object.freeze({
|
|
5
|
-
APPFRAMEWORK_MISSING_PERMISSION: {
|
|
6
|
-
code: 'STS_AF_0001',
|
|
7
|
-
description: 'STS_AF_0001: Missing Permission(s).'
|
|
8
|
-
},
|
|
9
|
-
});
|
|
10
|
-
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/validation/errors.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,+BAA+B,EAAE;QAC7B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,qCAAqC;KACrD;CACJ,CAAC,CAAC"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ServiceConfigOptions = ServiceConfigOptions;
|
|
7
|
-
const uuid_1 = require("uuid");
|
|
8
|
-
const stsconfig_1 = require("@nsshunt/stsconfig");
|
|
9
|
-
const server_1 = require("./server");
|
|
10
|
-
const winston_1 = __importDefault(require("winston"));
|
|
11
|
-
/*
|
|
12
|
-
// nid: `${goptions.rest01servicename} @ ${goptions.rest01serviceversion} | ${this.options.globalServiceData.serviceInstanceId} @ ${os.hostname()} ^ ${process.pid} @ ${(cluster.isMaster ? process.pid : process.ppid)}`,
|
|
13
|
-
// <serviceId> <serviceInstanceId> <serviceInstanceProcessId>
|
|
14
|
-
// <serviceName> <serviceVersion> <sid> <hostName> <pid> <ppid>
|
|
15
|
-
// << ............... Static Nid ............... >> << ............... Dynamic Nid ............... >>
|
|
16
|
-
// Note: The final nid will NOT contain the NID_SEPERATOR character. This will be replaced with the SEPERATOR character.
|
|
17
|
-
const Context = (isMaster, serviceInstanceId) => {
|
|
18
|
-
return {
|
|
19
|
-
nid: `\
|
|
20
|
-
${goptions.rest01servicename}${ModelDelimeter.COMPONENT_SEPERATOR}${goptions.rest01serviceversion}\
|
|
21
|
-
${ModelDelimeter.SEPERATOR}\
|
|
22
|
-
${serviceInstanceId}${ModelDelimeter.COMPONENT_SEPERATOR}${os.hostname()}\
|
|
23
|
-
${ModelDelimeter.NID_SEPERATOR}\
|
|
24
|
-
${process.pid}${ModelDelimeter.COMPONENT_SEPERATOR}${(isMaster ? process.pid : process.ppid)}`
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
*/
|
|
28
|
-
function ServiceConfigOptions(clusterMode, isMaster) {
|
|
29
|
-
winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.simple());
|
|
30
|
-
const logger = winston_1.default.createLogger({
|
|
31
|
-
level: 'debug',
|
|
32
|
-
format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.simple()),
|
|
33
|
-
transports: [
|
|
34
|
-
new winston_1.default.transports.Console()
|
|
35
|
-
]
|
|
36
|
-
});
|
|
37
|
-
const publisherLogger = winston_1.default.createLogger({
|
|
38
|
-
level: 'info',
|
|
39
|
-
format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.simple()),
|
|
40
|
-
transports: [
|
|
41
|
-
new winston_1.default.transports.Console()
|
|
42
|
-
]
|
|
43
|
-
});
|
|
44
|
-
if (isMaster === true) {
|
|
45
|
-
const serviceInstanceId = (0, uuid_1.v4)();
|
|
46
|
-
const data = {
|
|
47
|
-
clusterMode: clusterMode,
|
|
48
|
-
wssServer: true,
|
|
49
|
-
useLatency: true,
|
|
50
|
-
httpsServerKeyPath: stsconfig_1.goptions.httpsserverkeypath,
|
|
51
|
-
httpsServerCertificatePath: stsconfig_1.goptions.httpsservercertpath,
|
|
52
|
-
processExitOnTerminate: true,
|
|
53
|
-
serviceInstanceId: serviceInstanceId,
|
|
54
|
-
useDatabase: false,
|
|
55
|
-
isMaster: isMaster,
|
|
56
|
-
endpoint: stsconfig_1.goptions.rest01endpoint,
|
|
57
|
-
apiRoot: stsconfig_1.goptions.rest01apiroot,
|
|
58
|
-
listenPort: stsconfig_1.goptions.rest01hostport,
|
|
59
|
-
port: stsconfig_1.goptions.rest01port,
|
|
60
|
-
prometheusSupport: stsconfig_1.goptions.rest01prometheussupport,
|
|
61
|
-
prometheusClusterPort: stsconfig_1.goptions.rest01prometheusclusterport,
|
|
62
|
-
serviceName: stsconfig_1.goptions.rest01servicename,
|
|
63
|
-
serviceVersion: stsconfig_1.goptions.rest01serviceversion,
|
|
64
|
-
consoleLogging: false, //@@
|
|
65
|
-
instrumentLogging: true,
|
|
66
|
-
instrumentationObservationInterval: stsconfig_1.goptions.instrumentationObservationInterval,
|
|
67
|
-
instrumentationTimeWindow: stsconfig_1.goptions.instrumentationTimeWindow,
|
|
68
|
-
useSocketIoRedisAdaptor: true,
|
|
69
|
-
socketIoRedisAdaptorUrl: stsconfig_1.goptions.socketIoRedisAdaptorUrl,
|
|
70
|
-
//socketIoRedisAdaptorUrl: 'redis://192.168.50.5:6379',
|
|
71
|
-
//workerExec: './dist/testing/app.js',
|
|
72
|
-
logger: logger,
|
|
73
|
-
publisherLogger: publisherLogger,
|
|
74
|
-
publishInterval: stsconfig_1.goptions.publishinterval
|
|
75
|
-
};
|
|
76
|
-
if (!clusterMode) {
|
|
77
|
-
data.expressServerRouteFactory = (app, stsApp) => {
|
|
78
|
-
return new server_1.STSExpressRouteFactory(app, stsApp);
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
return data;
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
const data = JSON.parse(process.env['STS_GSD_SII']);
|
|
85
|
-
data.expressServerRouteFactory = (app, stsApp) => {
|
|
86
|
-
return new server_1.STSExpressRouteFactory(app, stsApp);
|
|
87
|
-
};
|
|
88
|
-
data.logger = logger;
|
|
89
|
-
data.publisherLogger = publisherLogger;
|
|
90
|
-
return data;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=appConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"appConfig.js","sourceRoot":"","sources":["../../src/vitesttesting/appConfig.ts"],"names":[],"mappings":"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"}
|