@nsshunt/stsappframework 3.0.86 → 3.0.88

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.
@@ -8,6 +8,8 @@ const tiny_emitter_1 = require("tiny-emitter");
8
8
  const debug_1 = __importDefault(require("debug"));
9
9
  const stsutils_1 = require("@nsshunt/stsutils");
10
10
  const debug = (0, debug_1.default)(`proc:${process.pid}`);
11
+ const uuid_1 = require("uuid");
12
+ const on_headers_1 = __importDefault(require("on-headers"));
11
13
  var ServerNetworkMiddlewareEventName;
12
14
  (function (ServerNetworkMiddlewareEventName) {
13
15
  ServerNetworkMiddlewareEventName["UpdateInstrument_SERVER_NET_VAL"] = "UpdateInstrument_SERVER_NET_VAL"; // request net stats
@@ -15,7 +17,7 @@ var ServerNetworkMiddlewareEventName;
15
17
  class ServerNetworkMiddleware extends stsutils_1.STSOptionsBase {
16
18
  #tinyEmitter = new tiny_emitter_1.TinyEmitter();
17
19
  #socketCollection = {};
18
- #id = 0;
20
+ #id = '';
19
21
  #debug;
20
22
  constructor(options) {
21
23
  super(options);
@@ -57,7 +59,7 @@ class ServerNetworkMiddleware extends stsutils_1.STSOptionsBase {
57
59
  let workingSocketRecord = null;
58
60
  workingSocketRecord = this.GetSocketRecord(req.socket);
59
61
  if (!workingSocketRecord) {
60
- this.#id++;
62
+ this.#id = (0, uuid_1.v4)();
61
63
  workingSocketRecord = {
62
64
  id: `${this.options.name}_${this.#id.toString()}`,
63
65
  socket: req.socket,
@@ -73,54 +75,56 @@ class ServerNetworkMiddleware extends stsutils_1.STSOptionsBase {
73
75
  this.#socketCollection[workingSocketRecord.id] = workingSocketRecord;
74
76
  this.#debug(`Adding new socket to recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
75
77
  workingSocketRecord.socket.on('data', () => {
76
- workingSocketRecord = this.GetSocketRecord(workingSocketRecord.socket);
77
- if (workingSocketRecord) {
78
- this.#debug(`Socket close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
79
- this.UpdateNetworkStats(workingSocketRecord, 'socket_data', req);
80
- this.#debug(`Socket removed from recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
78
+ const socketRecord = this.GetSocketRecord(workingSocketRecord.socket);
79
+ if (socketRecord) {
80
+ this.#debug(`Socket data event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray);
81
+ this.UpdateNetworkStats(socketRecord, 'socket_data', req);
81
82
  }
82
83
  else {
83
- this.#debug(`Socket close event: Could not find socket within recordset`.magenta);
84
+ this.#debug(`Socket data event: Could not find socket within recordset`.magenta);
84
85
  }
85
86
  });
86
87
  workingSocketRecord.socket.on('close', () => {
87
- workingSocketRecord = this.GetSocketRecord(workingSocketRecord.socket);
88
- if (workingSocketRecord) {
89
- this.#debug(`Socket close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
90
- this.UpdateNetworkStats(workingSocketRecord, 'socket_close', req);
91
- delete this.#socketCollection[workingSocketRecord.id];
92
- this.#debug(`Socket removed from recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
88
+ const socketRecord = this.GetSocketRecord(workingSocketRecord.socket);
89
+ if (socketRecord) {
90
+ this.#debug(`Socket close event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray);
91
+ this.UpdateNetworkStats(socketRecord, 'socket_close', req);
92
+ delete this.#socketCollection[socketRecord.id];
93
+ this.#debug(`Socket removed from recordset: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray);
93
94
  }
94
95
  else {
95
96
  this.#debug(`Socket close event: Could not find socket within recordset`.magenta);
96
97
  }
97
98
  });
98
99
  workingSocketRecord.socket.on('end', () => {
99
- workingSocketRecord = this.GetSocketRecord(workingSocketRecord.socket);
100
- if (workingSocketRecord) {
101
- this.#debug(`Socket end event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
102
- this.UpdateNetworkStats(workingSocketRecord, 'socket_end', req);
100
+ const socketRecord = this.GetSocketRecord(workingSocketRecord.socket);
101
+ if (socketRecord) {
102
+ this.#debug(`Socket end event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray);
103
+ this.UpdateNetworkStats(socketRecord, 'socket_end', req);
103
104
  }
104
105
  else {
105
106
  this.#debug(`Socket end event: Could not find socket within recordset`.magenta);
106
107
  }
107
108
  });
108
109
  }
110
+ (0, on_headers_1.default)(res, () => {
111
+ console.log(Object.keys(res));
112
+ });
109
113
  req.on('end', () => {
110
- workingSocketRecord = this.GetSocketRecord(req.socket);
111
- if (workingSocketRecord) {
112
- this.#debug(`Request end event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
113
- this.UpdateNetworkStats(workingSocketRecord, 'req_end', req);
114
+ const socketRecord = this.GetSocketRecord(req.socket);
115
+ if (socketRecord) {
116
+ this.#debug(`Request end event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray);
117
+ this.UpdateNetworkStats(socketRecord, 'req_end', req);
114
118
  }
115
119
  else {
116
120
  this.#debug(`Request end event: Could not find socket within recordset`.magenta);
117
121
  }
118
122
  });
119
123
  req.on('close', () => {
120
- workingSocketRecord = this.GetSocketRecord(req.socket);
121
- if (workingSocketRecord) {
122
- this.#debug(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray);
123
- this.UpdateNetworkStats(workingSocketRecord, 'req_close', req);
124
+ const socketRecord = this.GetSocketRecord(req.socket);
125
+ if (socketRecord) {
126
+ this.#debug(`Request close event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray);
127
+ this.UpdateNetworkStats(socketRecord, 'req_close', req);
124
128
  }
125
129
  else {
126
130
  this.#debug(`Request close event: Could not find socket within recordset`.magenta);
@@ -1 +1 @@
1
- {"version":3,"file":"serverNetworkMiddleware.js","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverNetworkMiddleware.js","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/stsappframework",
3
- "version": "3.0.86",
3
+ "version": "3.0.88",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./types/index.d.ts",
@@ -56,6 +56,7 @@
56
56
  "@nsshunt/stsutils": "^1.16.17",
57
57
  "@socket.io/cluster-adapter": "^0.2.2",
58
58
  "@socket.io/redis-streams-adapter": "^0.1.0",
59
+ "@types/on-headers": "^1.0.3",
59
60
  "@types/pidusage": "^2.0.5",
60
61
  "@types/tough-cookie": "^4.0.5",
61
62
  "axios": "^1.6.2",
@@ -70,6 +71,7 @@
70
71
  "jwks-rsa": "^3.1.0",
71
72
  "jwt-decode": "^4.0.0",
72
73
  "kafkajs": "^2.2.4",
74
+ "on-headers": "^1.0.2",
73
75
  "pidusage": "^3.0.2",
74
76
  "prom-client": "^15.0.0",
75
77
  "redis": "^4.6.10",
@@ -8,6 +8,9 @@ import { STSOptionsBase } from '@nsshunt/stsutils';
8
8
  import { CompareSTSInstrumentControllerPluginKey } from '@nsshunt/stspublisherserver';
9
9
  const debug = debugModule(`proc:${process.pid}`);
10
10
 
11
+ import { v4 as uuidv4 } from 'uuid';
12
+ import onHeaders from 'on-headers';
13
+
11
14
  export enum ServerNetworkMiddlewareEventName {
12
15
  UpdateInstrument_SERVER_NET_VAL = 'UpdateInstrument_SERVER_NET_VAL' // request net stats
13
16
  }
@@ -36,7 +39,7 @@ export class ServerNetworkMiddleware extends STSOptionsBase
36
39
  {
37
40
  #tinyEmitter: TinyEmitter = new TinyEmitter();
38
41
  #socketCollection: Record<string, ISocketRecord> = { };
39
- #id: number = 0;
42
+ #id: string = '';
40
43
  #debug: any;
41
44
 
42
45
  constructor(options: IServerNetworkMiddleware) {
@@ -87,8 +90,9 @@ export class ServerNetworkMiddleware extends STSOptionsBase
87
90
  let workingSocketRecord: ISocketRecord | null = null;
88
91
 
89
92
  workingSocketRecord = this.GetSocketRecord(req.socket);
93
+
90
94
  if (!workingSocketRecord) {
91
- this.#id++
95
+ this.#id = uuidv4();
92
96
  workingSocketRecord = {
93
97
  id: `${(this.options as IServerNetworkMiddleware).name}_${this.#id.toString()}`,
94
98
  socket: req.socket,
@@ -107,54 +111,57 @@ export class ServerNetworkMiddleware extends STSOptionsBase
107
111
  this.#debug(`Adding new socket to recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
108
112
 
109
113
  workingSocketRecord.socket.on('data', () => {
110
- workingSocketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
111
- if (workingSocketRecord) {
112
- this.#debug(`Socket close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
113
- this.UpdateNetworkStats(workingSocketRecord, 'socket_data', req);
114
- this.#debug(`Socket removed from recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
114
+ const socketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
115
+ if (socketRecord) {
116
+ this.#debug(`Socket data event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray)
117
+ this.UpdateNetworkStats(socketRecord, 'socket_data', req);
115
118
  } else {
116
- this.#debug(`Socket close event: Could not find socket within recordset`.magenta)
119
+ this.#debug(`Socket data event: Could not find socket within recordset`.magenta)
117
120
  }
118
121
  });
119
122
 
120
123
  workingSocketRecord.socket.on('close', () => {
121
- workingSocketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
122
- if (workingSocketRecord) {
123
- this.#debug(`Socket close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
124
- this.UpdateNetworkStats(workingSocketRecord, 'socket_close', req);
125
- delete this.#socketCollection[workingSocketRecord.id];
126
- this.#debug(`Socket removed from recordset: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
124
+ const socketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
125
+ if (socketRecord) {
126
+ this.#debug(`Socket close event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray)
127
+ this.UpdateNetworkStats(socketRecord, 'socket_close', req);
128
+ delete this.#socketCollection[socketRecord.id];
129
+ this.#debug(`Socket removed from recordset: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray)
127
130
  } else {
128
131
  this.#debug(`Socket close event: Could not find socket within recordset`.magenta)
129
132
  }
130
133
  });
131
134
 
132
135
  workingSocketRecord.socket.on('end', () => {
133
- workingSocketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
134
- if (workingSocketRecord) {
135
- this.#debug(`Socket end event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
136
- this.UpdateNetworkStats(workingSocketRecord, 'socket_end', req);
136
+ const socketRecord = this.GetSocketRecord((workingSocketRecord as ISocketRecord).socket);
137
+ if (socketRecord) {
138
+ this.#debug(`Socket end event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray)
139
+ this.UpdateNetworkStats(socketRecord, 'socket_end', req);
137
140
  } else {
138
141
  this.#debug(`Socket end event: Could not find socket within recordset`.magenta)
139
142
  }
140
143
  });
141
144
  }
142
145
 
146
+ onHeaders(res, () => {
147
+ console.log(Object.keys(res));
148
+ });
149
+
143
150
  req.on('end', () => {
144
- workingSocketRecord = this.GetSocketRecord(req.socket);
145
- if (workingSocketRecord) {
146
- this.#debug(`Request end event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
147
- this.UpdateNetworkStats(workingSocketRecord, 'req_end', req);
151
+ const socketRecord = this.GetSocketRecord(req.socket);
152
+ if (socketRecord) {
153
+ this.#debug(`Request end event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray)
154
+ this.UpdateNetworkStats(socketRecord, 'req_end', req);
148
155
  } else {
149
156
  this.#debug(`Request end event: Could not find socket within recordset`.magenta)
150
157
  }
151
158
  });
152
159
 
153
160
  req.on('close', () => {
154
- workingSocketRecord = this.GetSocketRecord(req.socket);
155
- if (workingSocketRecord) {
156
- this.#debug(`Request close event: ID: [${workingSocketRecord.id}], originalUrl: [${workingSocketRecord.originalUrl}]`.gray)
157
- this.UpdateNetworkStats(workingSocketRecord, 'req_close', req);
161
+ const socketRecord = this.GetSocketRecord(req.socket);
162
+ if (socketRecord) {
163
+ this.#debug(`Request close event: ID: [${socketRecord.id}], originalUrl: [${socketRecord.originalUrl}]`.gray)
164
+ this.UpdateNetworkStats(socketRecord, 'req_close', req);
158
165
  } else {
159
166
  this.#debug(`Request close event: Could not find socket within recordset`.magenta)
160
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serverNetworkMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAIjC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,oBAAY,gCAAgC;IACxC,+BAA+B,oCAAoC;CACtE;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,gCAAgC,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,uBAAwB,SAAQ,cAAc;;gBAO3C,OAAO,EAAE,wBAAwB;IAS7C,EAAE,CAAC,SAAS,EAAE,gCAAgC,EAAE,UAAU,EAAE,gCAAgC;IAI5F,eAAe,WAAY,MAAM,KAAG,aAAa,GAAG,IAAI,CAOvD;IAED,kBAAkB,wBAAyB,aAAa,aAAa,MAAM,OAAO,OAAO,UAoBxF;IAED,UAAU,QAAS,OAAO,OAAO,QAAQ,QAAQ,YAAY,UAsG5D;CACJ"}
1
+ {"version":3,"file":"serverNetworkMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/serverNetworkMiddleware.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAIjC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOnD,oBAAY,gCAAgC;IACxC,+BAA+B,oCAAoC;CACtE;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,gCAAgC,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;CACvB;AAED,qBAAa,uBAAwB,SAAQ,cAAc;;gBAO3C,OAAO,EAAE,wBAAwB;IAS7C,EAAE,CAAC,SAAS,EAAE,gCAAgC,EAAE,UAAU,EAAE,gCAAgC;IAI5F,eAAe,WAAY,MAAM,KAAG,aAAa,GAAG,IAAI,CAOvD;IAED,kBAAkB,wBAAyB,aAAa,aAAa,MAAM,OAAO,OAAO,UAoBxF;IAED,UAAU,QAAS,OAAO,OAAO,QAAQ,QAAQ,YAAY,UA0G5D;CACJ"}