@lsby/net-core 0.7.11-beta.2 → 0.7.11
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/dist/cjs/global/global.cjs +3 -2
- package/dist/cjs/index.cjs +65 -64
- package/dist/cjs/plugin/extend/custom-data.cjs +5 -4
- package/dist/cjs/plugin/extend/urlencoded.cjs +5 -4
- package/dist/cjs/plugin/extend/web-socket.cjs +15 -14
- package/dist/cjs/server/server.cjs +34 -33
- package/dist/esm/{chunk-567N5OFV.js → chunk-BFL3HOQE.js} +3 -2
- package/dist/esm/{chunk-2SPIZUHY.js → chunk-TD5W3AAH.js} +3 -3
- package/dist/esm/{chunk-H3HM4O7J.js → chunk-VFOG5LBT.js} +3 -3
- package/dist/esm/{chunk-NSW5G2QM.js → chunk-YITJBWMM.js} +3 -3
- package/dist/esm/{chunk-XE7ESQZU.js → chunk-ZF7SHZXM.js} +1 -1
- package/dist/esm/global/global.js +1 -1
- package/dist/esm/index.js +17 -17
- package/dist/esm/plugin/extend/custom-data.js +2 -2
- package/dist/esm/plugin/extend/json.js +2 -2
- package/dist/esm/plugin/extend/query.js +2 -2
- package/dist/esm/plugin/extend/urlencoded.js +2 -2
- package/dist/esm/plugin/extend/web-socket.js +2 -2
- package/dist/esm/server/server.js +2 -2
- package/dist/esm/wrapper/common-wrapper.js +2 -2
- package/dist/esm/wrapper/deferred-result-wrapper.js +2 -2
- package/package.json +3 -3
- package/dist/esm/{chunk-6SGTOPVW.js → chunk-AY6KWNWX.js} +3 -3
- package/dist/esm/{chunk-WYJFP5V5.js → chunk-FEURUNOT.js} +3 -3
- package/dist/esm/{chunk-B2WM3PYV.js → chunk-GMYXAJS3.js} +3 -3
- package/dist/esm/{chunk-FHU5AZWT.js → chunk-JLHGWUH6.js} +3 -3
|
@@ -26,11 +26,12 @@ __export(global_exports, {
|
|
|
26
26
|
module.exports = __toCommonJS(global_exports);
|
|
27
27
|
var import_ts_global = require("@lsby/ts-global");
|
|
28
28
|
var import_ts_log = require("@lsby/ts-log");
|
|
29
|
+
var log = new import_ts_log.Log("@lsby:net-core");
|
|
29
30
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
30
31
|
constructor(\u8FDE\u63A5\u8868) {
|
|
31
32
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
32
33
|
}
|
|
33
|
-
log =
|
|
34
|
+
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
34
35
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
35
36
|
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
36
37
|
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
@@ -58,7 +59,7 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
58
59
|
}
|
|
59
60
|
};
|
|
60
61
|
var Global = new import_ts_global.GlobalService([
|
|
61
|
-
new import_ts_global.GlobalItem("log",
|
|
62
|
+
new import_ts_global.GlobalItem("log", log),
|
|
62
63
|
new import_ts_global.GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
63
64
|
]);
|
|
64
65
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -118,9 +118,9 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
|
|
|
118
118
|
return this.\u5B8C\u6574\u6784\u9020(\u63D2\u4EF6\u4EEC, \u5B9E\u73B0, null, null);
|
|
119
119
|
}
|
|
120
120
|
async \u8FD0\u884C(req, res, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570) {
|
|
121
|
-
let
|
|
121
|
+
let log2 = \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570.log.extend("\u63A5\u53E3\u903B\u8F91");
|
|
122
122
|
let \u63D2\u4EF6\u4EEC = this.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
123
|
-
await
|
|
123
|
+
await log2.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63D2\u4EF6\u4EEC.length);
|
|
124
124
|
let \u6240\u6709\u63D2\u4EF6\u7ED3\u679C = [];
|
|
125
125
|
for (let \u63D2\u4EF62 of \u63D2\u4EF6\u4EEC) {
|
|
126
126
|
let \u63D2\u4EF6\u672C\u4F53 = await \u63D2\u4EF62.run();
|
|
@@ -128,10 +128,10 @@ var \u63A5\u53E3\u903B\u8F91Base = class _\u63A5\u53E3\u903B\u8F91Base {
|
|
|
128
128
|
\u6240\u6709\u63D2\u4EF6\u7ED3\u679C.push(\u63D2\u4EF6\u8FD4\u56DE);
|
|
129
129
|
}
|
|
130
130
|
let \u5408\u5E76\u63D2\u4EF6\u7ED3\u679C = \u6240\u6709\u63D2\u4EF6\u7ED3\u679C.reduce((s, a) => ({ ...s, ...a }), {});
|
|
131
|
-
await
|
|
132
|
-
await
|
|
131
|
+
await log2.debug("\u63D2\u4EF6 \u6267\u884C\u5B8C\u6BD5");
|
|
132
|
+
await log2.debug("\u51C6\u5907\u6267\u884C\u63A5\u53E3\u5B9E\u73B0...");
|
|
133
133
|
let \u5B9E\u73B0\u7ED3\u679C = await this.\u5B9E\u73B0(\u5408\u5E76\u63D2\u4EF6\u7ED3\u679C, \u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, \u4F20\u5165\u7684\u63D2\u4EF6\u9644\u52A0\u53C2\u6570);
|
|
134
|
-
await
|
|
134
|
+
await log2.debug("\u63A5\u53E3\u5B9E\u73B0\u6267\u884C\u5B8C\u6BD5");
|
|
135
135
|
return \u5B9E\u73B0\u7ED3\u679C.map((a) => ({ ...\u4F20\u5165\u7684\u903B\u8F91\u9644\u52A0\u53C2\u6570, ...a }));
|
|
136
136
|
}
|
|
137
137
|
\u6DF7\u5408(\u8F93\u5165) {
|
|
@@ -244,11 +244,12 @@ var \u4E2D\u6587\u8DEF\u5F84\u652F\u6301\u63D2\u4EF6 = class extends \u63D2\u4EF
|
|
|
244
244
|
// src/global/global.ts
|
|
245
245
|
var import_ts_global = require("@lsby/ts-global");
|
|
246
246
|
var import_ts_log = require("@lsby/ts-log");
|
|
247
|
+
var log = new import_ts_log.Log("@lsby:net-core");
|
|
247
248
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
248
249
|
constructor(\u8FDE\u63A5\u8868) {
|
|
249
250
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
250
251
|
}
|
|
251
|
-
log =
|
|
252
|
+
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
252
253
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
253
254
|
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
254
255
|
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
@@ -276,7 +277,7 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
276
277
|
}
|
|
277
278
|
};
|
|
278
279
|
var Global = new import_ts_global.GlobalService([
|
|
279
|
-
new import_ts_global.GlobalItem("log",
|
|
280
|
+
new import_ts_global.GlobalItem("log", log),
|
|
280
281
|
new import_ts_global.GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
281
282
|
]);
|
|
282
283
|
|
|
@@ -285,8 +286,8 @@ var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
285
286
|
log = Global.getItem("log");
|
|
286
287
|
constructor(t, data) {
|
|
287
288
|
super(t, async (_res, _req, \u9644\u52A0\u53C2\u6570) => {
|
|
288
|
-
let
|
|
289
|
-
await
|
|
289
|
+
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6");
|
|
290
|
+
await log2.debug("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6\u8FD0\u884C, \u7ED3\u679C: %o", data);
|
|
290
291
|
return data;
|
|
291
292
|
});
|
|
292
293
|
}
|
|
@@ -321,19 +322,19 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
321
322
|
[\u70D9\u5370] = ["JSON\u89E3\u6790\u63D2\u4EF6"];
|
|
322
323
|
constructor(t, opt) {
|
|
323
324
|
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
324
|
-
let
|
|
325
|
+
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
325
326
|
await new Promise(
|
|
326
327
|
(pRes, _rej) => import_express.default.json(opt)(req, res, () => {
|
|
327
328
|
pRes(null);
|
|
328
329
|
})
|
|
329
330
|
);
|
|
330
|
-
await
|
|
331
|
+
await log2.debug("\u51C6\u5907\u89E3\u6790 JSON\uFF1A%o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.body)));
|
|
331
332
|
let parseResult = t.safeParse(req.body);
|
|
332
333
|
if (parseResult.success === false) {
|
|
333
|
-
await
|
|
334
|
+
await log2.error("\u89E3\u6790 JSON \u5931\u8D25\uFF1A%o", parseResult.error);
|
|
334
335
|
throw new Error((0, import_node_util.format)("\u89E3\u6790 JSON \u5931\u8D25: %o", parseResult.error));
|
|
335
336
|
}
|
|
336
|
-
await
|
|
337
|
+
await log2.debug("\u6210\u529F\u89E3\u6790 JSON");
|
|
337
338
|
return parseResult.data;
|
|
338
339
|
});
|
|
339
340
|
}
|
|
@@ -345,8 +346,8 @@ var zod\u7C7B\u578B\u8868\u793A2 = import_zod2.z.object({});
|
|
|
345
346
|
var \u8C03\u8BD5\u8BF7\u6C42\u5934\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
346
347
|
constructor() {
|
|
347
348
|
super(zod\u7C7B\u578B\u8868\u793A2, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
348
|
-
let
|
|
349
|
-
await
|
|
349
|
+
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("\u8C03\u8BD5\u8BF7\u6C42\u5934\u63D2\u4EF6");
|
|
350
|
+
await log2.debug(req.headers);
|
|
350
351
|
return {};
|
|
351
352
|
});
|
|
352
353
|
}
|
|
@@ -359,14 +360,14 @@ var GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
359
360
|
[\u70D9\u53702] = ["GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6"];
|
|
360
361
|
constructor(t) {
|
|
361
362
|
super(t, async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
362
|
-
let
|
|
363
|
-
await
|
|
363
|
+
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6");
|
|
364
|
+
await log2.debug("\u51C6\u5907\u89E3\u6790 GET \u53C2\u6570\uFF1A%o", JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(req.query)));
|
|
364
365
|
let parseResult = t.safeParse(req.query);
|
|
365
366
|
if (parseResult.success === false) {
|
|
366
|
-
await
|
|
367
|
+
await log2.error("\u89E3\u6790 GET \u53C2\u6570\u5931\u8D25\uFF1A%o", parseResult.error);
|
|
367
368
|
throw new Error((0, import_node_util2.format)("\u89E3\u6790 GET \u53C2\u6570\u5931\u8D25: %o", parseResult.error));
|
|
368
369
|
}
|
|
369
|
-
await
|
|
370
|
+
await log2.debug("\u6210\u529F\u89E3\u6790 GET \u53C2\u6570");
|
|
370
371
|
return parseResult.data;
|
|
371
372
|
});
|
|
372
373
|
}
|
|
@@ -394,7 +395,7 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
394
395
|
log = Global.getItem("log");
|
|
395
396
|
constructor(t, opt) {
|
|
396
397
|
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
397
|
-
let
|
|
398
|
+
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
398
399
|
await new Promise(
|
|
399
400
|
(pRes, _rej) => import_express2.default.urlencoded({ extended: true, ...opt })(req, res, () => {
|
|
400
401
|
pRes(null);
|
|
@@ -402,7 +403,7 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
402
403
|
);
|
|
403
404
|
let parseResult = t.safeParse(req.body);
|
|
404
405
|
if (parseResult.success === false) {
|
|
405
|
-
await
|
|
406
|
+
await log2.error("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error);
|
|
406
407
|
throw new Error((0, import_node_util3.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error));
|
|
407
408
|
}
|
|
408
409
|
return parseResult.data;
|
|
@@ -425,49 +426,49 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
425
426
|
}).or(import_zod4.z.null())
|
|
426
427
|
}),
|
|
427
428
|
async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
428
|
-
let
|
|
429
|
+
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("webSocket\u63D2\u4EF6");
|
|
429
430
|
let WebSocket\u7BA1\u7406\u56682 = await Global.getItem("WebSocket\u7BA1\u7406\u5668");
|
|
430
431
|
let ws\u53E5\u67C4 = null;
|
|
431
432
|
let wsId = req.headers["ws-client-id"];
|
|
432
|
-
await
|
|
433
|
+
await log2.debug("\u68C0\u67E5 ws-client-id \u5934\u4FE1\u606F", { wsId });
|
|
433
434
|
if (typeof wsId !== "string") {
|
|
434
|
-
await
|
|
435
|
+
await log2.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket Id");
|
|
435
436
|
return { ws\u64CD\u4F5C: null };
|
|
436
437
|
}
|
|
437
|
-
await
|
|
438
|
+
await log2.debug("\u5DF2\u83B7\u5F97 WebSocket Id: %o", wsId);
|
|
438
439
|
return {
|
|
439
440
|
ws\u64CD\u4F5C: {
|
|
440
441
|
async \u53D1\u9001ws\u4FE1\u606F(\u4FE1\u606F) {
|
|
441
442
|
if (ws\u53E5\u67C4 === null) {
|
|
442
|
-
await
|
|
443
|
+
await log2.debug("\u5C1D\u8BD5\u83B7\u53D6 WebSocket \u53E5\u67C4");
|
|
443
444
|
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u56682.\u83B7\u5F97\u53E5\u67C4(wsId);
|
|
444
445
|
}
|
|
445
446
|
if (ws\u53E5\u67C4 === null) {
|
|
446
|
-
await
|
|
447
|
+
await log2.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
|
|
447
448
|
return;
|
|
448
449
|
}
|
|
449
450
|
if (ws\u53E5\u67C4.readyState !== import_ws.WebSocket.OPEN) {
|
|
450
|
-
await
|
|
451
|
+
await log2.warn("WebSocket \u672A\u6253\u5F00\uFF0C\u65E0\u6CD5\u53D1\u9001\u6D88\u606F", { wsId });
|
|
451
452
|
return;
|
|
452
453
|
}
|
|
453
|
-
await
|
|
454
|
+
await log2.debug("\u53D1\u9001 WebSocket \u4FE1\u606F", { \u4FE1\u606F });
|
|
454
455
|
await new Promise((resolve, reject) => {
|
|
455
456
|
ws\u53E5\u67C4?.send(JSON.stringify(\u4FE1\u606F), (err) => {
|
|
456
457
|
if (err !== void 0 && err !== null) {
|
|
457
|
-
|
|
458
|
+
log2.warnSync("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25", { \u9519\u8BEF: err });
|
|
458
459
|
return reject(err);
|
|
459
460
|
}
|
|
460
|
-
|
|
461
|
+
log2.debugSync("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F");
|
|
461
462
|
resolve();
|
|
462
463
|
});
|
|
463
464
|
});
|
|
464
465
|
},
|
|
465
466
|
async \u5173\u95EDws\u8FDE\u63A5() {
|
|
466
|
-
await
|
|
467
|
+
await log2.debug("\u5173\u95ED WebSocket \u8FDE\u63A5", { wsId });
|
|
467
468
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(wsId);
|
|
468
469
|
},
|
|
469
470
|
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(\u6E05\u7406\u51FD\u6570) {
|
|
470
|
-
await
|
|
471
|
+
await log2.debug("\u8BBE\u7F6E WebSocket \u6E05\u7406\u51FD\u6570", { wsId });
|
|
471
472
|
await WebSocket\u7BA1\u7406\u56682.\u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(wsId, \u6E05\u7406\u51FD\u6570);
|
|
472
473
|
}
|
|
473
474
|
}
|
|
@@ -492,10 +493,10 @@ var \u670D\u52A1\u5668 = class {
|
|
|
492
493
|
}
|
|
493
494
|
log = Global.getItem("log");
|
|
494
495
|
async run() {
|
|
495
|
-
let
|
|
496
|
+
let log2 = (await this.log).extend("\u670D\u52A1\u5668");
|
|
496
497
|
let app = (0, import_express3.default)();
|
|
497
498
|
if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== void 0) {
|
|
498
|
-
await
|
|
499
|
+
await log2.debug(`\u8BBE\u7F6E\u9759\u6001\u8D44\u6E90\u8DEF\u5F84: ${this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84}`);
|
|
499
500
|
app.use(import_express3.default.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84));
|
|
500
501
|
}
|
|
501
502
|
app.use(this.\u5904\u7406\u8BF7\u6C42.bind(this));
|
|
@@ -506,11 +507,11 @@ var \u670D\u52A1\u5668 = class {
|
|
|
506
507
|
async \u5904\u7406\u8BF7\u6C42(req, res) {
|
|
507
508
|
let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
|
|
508
509
|
let \u4E3Blog = (await this.log).extend(\u8BF7\u6C42id);
|
|
509
|
-
let
|
|
510
|
+
let log2 = \u4E3Blog.extend("\u63A7\u5236\u5668");
|
|
510
511
|
try {
|
|
511
512
|
let { path: \u8BF7\u6C42\u8DEF\u5F84, method } = req;
|
|
512
513
|
let \u8BF7\u6C42\u65B9\u6CD5 = method.toLowerCase();
|
|
513
|
-
await
|
|
514
|
+
await log2.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
514
515
|
let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E32) => \u8BF7\u6C42\u65B9\u6CD5 === \u63A5\u53E32.\u83B7\u5F97\u65B9\u6CD5() && \u8BF7\u6C42\u8DEF\u5F84 === \u63A5\u53E32.\u83B7\u5F97\u8DEF\u5F84()) ?? null;
|
|
515
516
|
if (\u76EE\u6807\u63A5\u53E3 !== null) {
|
|
516
517
|
await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, { log: \u4E3Blog });
|
|
@@ -522,23 +523,23 @@ var \u670D\u52A1\u5668 = class {
|
|
|
522
523
|
res.send(\u9ED8\u8BA4\u6587\u4EF6\u5185\u5BB9);
|
|
523
524
|
return;
|
|
524
525
|
} catch (e) {
|
|
525
|
-
await
|
|
526
|
+
await log2.error("\u8FD4\u56DE\u9ED8\u8BA4get\u6587\u4EF6\u5185\u5BB9\u5931\u8D25: %o", String(e));
|
|
526
527
|
}
|
|
527
528
|
}
|
|
528
|
-
await
|
|
529
|
+
await log2.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
|
|
529
530
|
res.status(404).end();
|
|
530
531
|
} catch (error) {
|
|
531
|
-
await
|
|
532
|
+
await log2.error(error);
|
|
532
533
|
res.status(500).send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
533
534
|
}
|
|
534
535
|
}
|
|
535
536
|
async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
|
|
536
|
-
let
|
|
537
|
+
let log2 = \u8BF7\u6C42\u9644\u52A0\u53C2\u6570.log.extend("\u5904\u7406\u63A5\u53E3\u903B\u8F91");
|
|
537
538
|
let \u63A5\u53E3\u903B\u8F912 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
|
|
538
539
|
let \u7ED3\u679C\u8F6C\u6362\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
|
|
539
|
-
await
|
|
540
|
+
await log2.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
|
|
540
541
|
let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F912.\u8FD0\u884C(req, res, {}, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
|
|
541
|
-
await
|
|
542
|
+
await log2.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
542
543
|
let \u6700\u7EC8\u7ED3\u679C;
|
|
543
544
|
let \u8F6C\u6362\u7ED3\u679C = \u7ED3\u679C\u8F6C\u6362\u5668.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
|
|
544
545
|
let \u9519\u8BEF\u7ED3\u679C = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod().safeParse(\u8F6C\u6362\u7ED3\u679C);
|
|
@@ -548,55 +549,55 @@ var \u670D\u52A1\u5668 = class {
|
|
|
548
549
|
} else if (\u6B63\u786E\u7ED3\u679C.success === true) {
|
|
549
550
|
\u6700\u7EC8\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C.data;
|
|
550
551
|
} else {
|
|
551
|
-
await
|
|
552
|
-
await
|
|
553
|
-
await
|
|
552
|
+
await log2.error("\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C");
|
|
553
|
+
await log2.error("\u5BF9\u4E8E\u9519\u8BEF\u7ED3\u679C: %o", \u9519\u8BEF\u7ED3\u679C.error);
|
|
554
|
+
await log2.error("\u5BF9\u4E8E\u6B63\u786E\u7ED3\u679C: %o", \u6B63\u786E\u7ED3\u679C.error);
|
|
554
555
|
throw new Error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C: ${JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u8F6C\u6362\u7ED3\u679C))}`);
|
|
555
556
|
}
|
|
556
|
-
await
|
|
557
|
+
await log2.debug("\u6700\u7EC8\u7ED3\u679C: %o", \u6700\u7EC8\u7ED3\u679C);
|
|
557
558
|
res.send(\u6700\u7EC8\u7ED3\u679C);
|
|
558
|
-
await
|
|
559
|
+
await log2.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
559
560
|
}
|
|
560
561
|
async \u521D\u59CB\u5316WebSocket(server) {
|
|
561
562
|
let wss = new import_ws2.WebSocketServer({ server });
|
|
562
563
|
let logBase = await this.log;
|
|
563
564
|
wss.on("listening", async () => {
|
|
564
|
-
let
|
|
565
|
-
await
|
|
565
|
+
let log2 = logBase;
|
|
566
|
+
await log2.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
|
|
566
567
|
});
|
|
567
568
|
wss.on("error", async (err) => {
|
|
568
|
-
let
|
|
569
|
-
await
|
|
569
|
+
let log2 = logBase;
|
|
570
|
+
await log2.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
|
|
570
571
|
});
|
|
571
572
|
wss.on("connection", async (ws, req) => {
|
|
572
|
-
let
|
|
573
|
-
|
|
573
|
+
let log2 = logBase.extend((0, import_short_uuid.default)().new()).extend("WebSocket");
|
|
574
|
+
log2.debugSync("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
|
|
574
575
|
let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
|
|
575
576
|
if (\u5BA2\u6237\u7AEFid === null) {
|
|
576
|
-
|
|
577
|
-
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
577
|
+
log2.errorSync("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
578
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log2, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
578
579
|
}
|
|
579
|
-
|
|
580
|
+
log2.debugSync("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
580
581
|
let WebSocket\u7BA1\u7406\u56682 = Global.getItemSync("WebSocket\u7BA1\u7406\u5668");
|
|
581
582
|
let \u8FDE\u63A5\u5DF2\u5B58\u5728 = WebSocket\u7BA1\u7406\u56682.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
|
|
582
583
|
if (\u8FDE\u63A5\u5DF2\u5B58\u5728) {
|
|
583
|
-
|
|
584
|
-
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
584
|
+
log2.errorSync("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
|
|
585
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log2, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
585
586
|
}
|
|
586
587
|
WebSocket\u7BA1\u7406\u56682.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
|
|
587
|
-
|
|
588
|
+
log2.infoSync("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
588
589
|
ws.on("close", async () => {
|
|
589
|
-
|
|
590
|
+
log2.infoSync("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
|
|
590
591
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
591
592
|
});
|
|
592
593
|
ws.on("error", async (err) => {
|
|
593
|
-
|
|
594
|
+
log2.errorSync("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
|
|
594
595
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
595
596
|
});
|
|
596
597
|
});
|
|
597
598
|
}
|
|
598
|
-
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
599
|
-
await
|
|
599
|
+
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, log2, code, reason) {
|
|
600
|
+
await log2.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u4EE3\u7801: ${code}, \u539F\u56E0: ${reason}`);
|
|
600
601
|
ws.close(code, reason);
|
|
601
602
|
}
|
|
602
603
|
\u83B7\u53D6\u672C\u5730\u5730\u5740() {
|
|
@@ -27,11 +27,12 @@ module.exports = __toCommonJS(custom_data_exports);
|
|
|
27
27
|
// src/global/global.ts
|
|
28
28
|
var import_ts_global = require("@lsby/ts-global");
|
|
29
29
|
var import_ts_log = require("@lsby/ts-log");
|
|
30
|
+
var log = new import_ts_log.Log("@lsby:net-core");
|
|
30
31
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
31
32
|
constructor(\u8FDE\u63A5\u8868) {
|
|
32
33
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
33
34
|
}
|
|
34
|
-
log =
|
|
35
|
+
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
35
36
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
36
37
|
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
37
38
|
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
@@ -59,7 +60,7 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
59
60
|
}
|
|
60
61
|
};
|
|
61
62
|
var Global = new import_ts_global.GlobalService([
|
|
62
|
-
new import_ts_global.GlobalItem("log",
|
|
63
|
+
new import_ts_global.GlobalItem("log", log),
|
|
63
64
|
new import_ts_global.GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
64
65
|
]);
|
|
65
66
|
|
|
@@ -82,8 +83,8 @@ var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
82
83
|
log = Global.getItem("log");
|
|
83
84
|
constructor(t, data) {
|
|
84
85
|
super(t, async (_res, _req, \u9644\u52A0\u53C2\u6570) => {
|
|
85
|
-
let
|
|
86
|
-
await
|
|
86
|
+
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6");
|
|
87
|
+
await log2.debug("\u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6\u8FD0\u884C, \u7ED3\u679C: %o", data);
|
|
87
88
|
return data;
|
|
88
89
|
});
|
|
89
90
|
}
|
|
@@ -39,11 +39,12 @@ var import_node_util = require("util");
|
|
|
39
39
|
// src/global/global.ts
|
|
40
40
|
var import_ts_global = require("@lsby/ts-global");
|
|
41
41
|
var import_ts_log = require("@lsby/ts-log");
|
|
42
|
+
var log = new import_ts_log.Log("@lsby:net-core");
|
|
42
43
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
43
44
|
constructor(\u8FDE\u63A5\u8868) {
|
|
44
45
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
45
46
|
}
|
|
46
|
-
log =
|
|
47
|
+
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
47
48
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
48
49
|
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
49
50
|
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
@@ -71,7 +72,7 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
71
72
|
}
|
|
72
73
|
};
|
|
73
74
|
var Global = new import_ts_global.GlobalService([
|
|
74
|
-
new import_ts_global.GlobalItem("log",
|
|
75
|
+
new import_ts_global.GlobalItem("log", log),
|
|
75
76
|
new import_ts_global.GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
76
77
|
]);
|
|
77
78
|
|
|
@@ -94,7 +95,7 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
94
95
|
log = Global.getItem("log");
|
|
95
96
|
constructor(t, opt) {
|
|
96
97
|
super(t, async (req, res, \u9644\u52A0\u53C2\u6570) => {
|
|
97
|
-
let
|
|
98
|
+
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
98
99
|
await new Promise(
|
|
99
100
|
(pRes, _rej) => import_express.default.urlencoded({ extended: true, ...opt })(req, res, () => {
|
|
100
101
|
pRes(null);
|
|
@@ -102,7 +103,7 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
102
103
|
);
|
|
103
104
|
let parseResult = t.safeParse(req.body);
|
|
104
105
|
if (parseResult.success === false) {
|
|
105
|
-
await
|
|
106
|
+
await log2.error("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error);
|
|
106
107
|
throw new Error((0, import_node_util.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %o", parseResult.error));
|
|
107
108
|
}
|
|
108
109
|
return parseResult.data;
|
|
@@ -29,11 +29,12 @@ var import_zod = require("zod");
|
|
|
29
29
|
// src/global/global.ts
|
|
30
30
|
var import_ts_global = require("@lsby/ts-global");
|
|
31
31
|
var import_ts_log = require("@lsby/ts-log");
|
|
32
|
+
var log = new import_ts_log.Log("@lsby:net-core");
|
|
32
33
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
33
34
|
constructor(\u8FDE\u63A5\u8868) {
|
|
34
35
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
35
36
|
}
|
|
36
|
-
log =
|
|
37
|
+
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
37
38
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
38
39
|
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
39
40
|
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
@@ -61,7 +62,7 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
61
62
|
}
|
|
62
63
|
};
|
|
63
64
|
var Global = new import_ts_global.GlobalService([
|
|
64
|
-
new import_ts_global.GlobalItem("log",
|
|
65
|
+
new import_ts_global.GlobalItem("log", log),
|
|
65
66
|
new import_ts_global.GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
66
67
|
]);
|
|
67
68
|
|
|
@@ -92,49 +93,49 @@ var WebSocket\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
92
93
|
}).or(import_zod.z.null())
|
|
93
94
|
}),
|
|
94
95
|
async (req, _res, \u9644\u52A0\u53C2\u6570) => {
|
|
95
|
-
let
|
|
96
|
+
let log2 = \u9644\u52A0\u53C2\u6570.log.extend("webSocket\u63D2\u4EF6");
|
|
96
97
|
let WebSocket\u7BA1\u7406\u56682 = await Global.getItem("WebSocket\u7BA1\u7406\u5668");
|
|
97
98
|
let ws\u53E5\u67C4 = null;
|
|
98
99
|
let wsId = req.headers["ws-client-id"];
|
|
99
|
-
await
|
|
100
|
+
await log2.debug("\u68C0\u67E5 ws-client-id \u5934\u4FE1\u606F", { wsId });
|
|
100
101
|
if (typeof wsId !== "string") {
|
|
101
|
-
await
|
|
102
|
+
await log2.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket Id");
|
|
102
103
|
return { ws\u64CD\u4F5C: null };
|
|
103
104
|
}
|
|
104
|
-
await
|
|
105
|
+
await log2.debug("\u5DF2\u83B7\u5F97 WebSocket Id: %o", wsId);
|
|
105
106
|
return {
|
|
106
107
|
ws\u64CD\u4F5C: {
|
|
107
108
|
async \u53D1\u9001ws\u4FE1\u606F(\u4FE1\u606F) {
|
|
108
109
|
if (ws\u53E5\u67C4 === null) {
|
|
109
|
-
await
|
|
110
|
+
await log2.debug("\u5C1D\u8BD5\u83B7\u53D6 WebSocket \u53E5\u67C4");
|
|
110
111
|
ws\u53E5\u67C4 = await WebSocket\u7BA1\u7406\u56682.\u83B7\u5F97\u53E5\u67C4(wsId);
|
|
111
112
|
}
|
|
112
113
|
if (ws\u53E5\u67C4 === null) {
|
|
113
|
-
await
|
|
114
|
+
await log2.error("\u672A\u80FD\u83B7\u53D6\u5230\u6709\u6548\u7684 WebSocket \u53E5\u67C4");
|
|
114
115
|
return;
|
|
115
116
|
}
|
|
116
117
|
if (ws\u53E5\u67C4.readyState !== import_ws.WebSocket.OPEN) {
|
|
117
|
-
await
|
|
118
|
+
await log2.warn("WebSocket \u672A\u6253\u5F00\uFF0C\u65E0\u6CD5\u53D1\u9001\u6D88\u606F", { wsId });
|
|
118
119
|
return;
|
|
119
120
|
}
|
|
120
|
-
await
|
|
121
|
+
await log2.debug("\u53D1\u9001 WebSocket \u4FE1\u606F", { \u4FE1\u606F });
|
|
121
122
|
await new Promise((resolve, reject) => {
|
|
122
123
|
ws\u53E5\u67C4?.send(JSON.stringify(\u4FE1\u606F), (err) => {
|
|
123
124
|
if (err !== void 0 && err !== null) {
|
|
124
|
-
|
|
125
|
+
log2.warnSync("\u53D1\u9001 WebSocket \u4FE1\u606F\u5931\u8D25", { \u9519\u8BEF: err });
|
|
125
126
|
return reject(err);
|
|
126
127
|
}
|
|
127
|
-
|
|
128
|
+
log2.debugSync("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F");
|
|
128
129
|
resolve();
|
|
129
130
|
});
|
|
130
131
|
});
|
|
131
132
|
},
|
|
132
133
|
async \u5173\u95EDws\u8FDE\u63A5() {
|
|
133
|
-
await
|
|
134
|
+
await log2.debug("\u5173\u95ED WebSocket \u8FDE\u63A5", { wsId });
|
|
134
135
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(wsId);
|
|
135
136
|
},
|
|
136
137
|
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(\u6E05\u7406\u51FD\u6570) {
|
|
137
|
-
await
|
|
138
|
+
await log2.debug("\u8BBE\u7F6E WebSocket \u6E05\u7406\u51FD\u6570", { wsId });
|
|
138
139
|
await WebSocket\u7BA1\u7406\u56682.\u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(wsId, \u6E05\u7406\u51FD\u6570);
|
|
139
140
|
}
|
|
140
141
|
}
|
|
@@ -42,11 +42,12 @@ var import_ws = require("ws");
|
|
|
42
42
|
// src/global/global.ts
|
|
43
43
|
var import_ts_global = require("@lsby/ts-global");
|
|
44
44
|
var import_ts_log = require("@lsby/ts-log");
|
|
45
|
+
var log = new import_ts_log.Log("@lsby:net-core");
|
|
45
46
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
46
47
|
constructor(\u8FDE\u63A5\u8868) {
|
|
47
48
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
48
49
|
}
|
|
49
|
-
log =
|
|
50
|
+
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
50
51
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
51
52
|
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
52
53
|
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
@@ -74,7 +75,7 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
74
75
|
}
|
|
75
76
|
};
|
|
76
77
|
var Global = new import_ts_global.GlobalService([
|
|
77
|
-
new import_ts_global.GlobalItem("log",
|
|
78
|
+
new import_ts_global.GlobalItem("log", log),
|
|
78
79
|
new import_ts_global.GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
79
80
|
]);
|
|
80
81
|
|
|
@@ -107,10 +108,10 @@ var \u670D\u52A1\u5668 = class {
|
|
|
107
108
|
}
|
|
108
109
|
log = Global.getItem("log");
|
|
109
110
|
async run() {
|
|
110
|
-
let
|
|
111
|
+
let log2 = (await this.log).extend("\u670D\u52A1\u5668");
|
|
111
112
|
let app = (0, import_express.default)();
|
|
112
113
|
if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 !== void 0) {
|
|
113
|
-
await
|
|
114
|
+
await log2.debug(`\u8BBE\u7F6E\u9759\u6001\u8D44\u6E90\u8DEF\u5F84: ${this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84}`);
|
|
114
115
|
app.use(import_express.default.static(this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84));
|
|
115
116
|
}
|
|
116
117
|
app.use(this.\u5904\u7406\u8BF7\u6C42.bind(this));
|
|
@@ -121,11 +122,11 @@ var \u670D\u52A1\u5668 = class {
|
|
|
121
122
|
async \u5904\u7406\u8BF7\u6C42(req, res) {
|
|
122
123
|
let \u8BF7\u6C42id = (0, import_short_uuid.default)().new();
|
|
123
124
|
let \u4E3Blog = (await this.log).extend(\u8BF7\u6C42id);
|
|
124
|
-
let
|
|
125
|
+
let log2 = \u4E3Blog.extend("\u63A7\u5236\u5668");
|
|
125
126
|
try {
|
|
126
127
|
let { path: \u8BF7\u6C42\u8DEF\u5F84, method } = req;
|
|
127
128
|
let \u8BF7\u6C42\u65B9\u6CD5 = method.toLowerCase();
|
|
128
|
-
await
|
|
129
|
+
await log2.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
129
130
|
let \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E3) => \u8BF7\u6C42\u65B9\u6CD5 === \u63A5\u53E3.\u83B7\u5F97\u65B9\u6CD5() && \u8BF7\u6C42\u8DEF\u5F84 === \u63A5\u53E3.\u83B7\u5F97\u8DEF\u5F84()) ?? null;
|
|
130
131
|
if (\u76EE\u6807\u63A5\u53E3 !== null) {
|
|
131
132
|
await this.\u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, { log: \u4E3Blog });
|
|
@@ -137,23 +138,23 @@ var \u670D\u52A1\u5668 = class {
|
|
|
137
138
|
res.send(\u9ED8\u8BA4\u6587\u4EF6\u5185\u5BB9);
|
|
138
139
|
return;
|
|
139
140
|
} catch (e) {
|
|
140
|
-
await
|
|
141
|
+
await log2.error("\u8FD4\u56DE\u9ED8\u8BA4get\u6587\u4EF6\u5185\u5BB9\u5931\u8D25: %o", String(e));
|
|
141
142
|
}
|
|
142
143
|
}
|
|
143
|
-
await
|
|
144
|
+
await log2.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90");
|
|
144
145
|
res.status(404).end();
|
|
145
146
|
} catch (error) {
|
|
146
|
-
await
|
|
147
|
+
await log2.error(error);
|
|
147
148
|
res.status(500).send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
148
149
|
}
|
|
149
150
|
}
|
|
150
151
|
async \u5904\u7406\u63A5\u53E3\u903B\u8F91(req, res, \u76EE\u6807\u63A5\u53E3, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570) {
|
|
151
|
-
let
|
|
152
|
+
let log2 = \u8BF7\u6C42\u9644\u52A0\u53C2\u6570.log.extend("\u5904\u7406\u63A5\u53E3\u903B\u8F91");
|
|
152
153
|
let \u63A5\u53E3\u903B\u8F91 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u903B\u8F91();
|
|
153
154
|
let \u7ED3\u679C\u8F6C\u6362\u5668 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7ED3\u679C\u8F6C\u6362\u5668();
|
|
154
|
-
await
|
|
155
|
+
await log2.debug("\u8C03\u7528\u63A5\u53E3\u903B\u8F91...");
|
|
155
156
|
let \u63A5\u53E3\u7ED3\u679C = await \u63A5\u53E3\u903B\u8F91.\u8FD0\u884C(req, res, {}, \u8BF7\u6C42\u9644\u52A0\u53C2\u6570);
|
|
156
|
-
await
|
|
157
|
+
await log2.debug("\u63A5\u53E3\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
157
158
|
let \u6700\u7EC8\u7ED3\u679C;
|
|
158
159
|
let \u8F6C\u6362\u7ED3\u679C = \u7ED3\u679C\u8F6C\u6362\u5668.\u5B9E\u73B0(\u63A5\u53E3\u7ED3\u679C);
|
|
159
160
|
let \u9519\u8BEF\u7ED3\u679C = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u63A5\u53E3\u9519\u8BEF\u5F62\u5F0FZod().safeParse(\u8F6C\u6362\u7ED3\u679C);
|
|
@@ -163,55 +164,55 @@ var \u670D\u52A1\u5668 = class {
|
|
|
163
164
|
} else if (\u6B63\u786E\u7ED3\u679C.success === true) {
|
|
164
165
|
\u6700\u7EC8\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C.data;
|
|
165
166
|
} else {
|
|
166
|
-
await
|
|
167
|
-
await
|
|
168
|
-
await
|
|
167
|
+
await log2.error("\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C");
|
|
168
|
+
await log2.error("\u5BF9\u4E8E\u9519\u8BEF\u7ED3\u679C: %o", \u9519\u8BEF\u7ED3\u679C.error);
|
|
169
|
+
await log2.error("\u5BF9\u4E8E\u6B63\u786E\u7ED3\u679C: %o", \u6B63\u786E\u7ED3\u679C.error);
|
|
169
170
|
throw new Error(`\u8F6C\u6362\u7ED3\u679C\u65E0\u6CD5\u901A\u8FC7\u6821\u9A8C: ${JSON.stringify(\u9012\u5F52\u622A\u65AD\u5B57\u7B26\u4E32(\u8F6C\u6362\u7ED3\u679C))}`);
|
|
170
171
|
}
|
|
171
|
-
await
|
|
172
|
+
await log2.debug("\u6700\u7EC8\u7ED3\u679C: %o", \u6700\u7EC8\u7ED3\u679C);
|
|
172
173
|
res.send(\u6700\u7EC8\u7ED3\u679C);
|
|
173
|
-
await
|
|
174
|
+
await log2.debug("\u8FD4\u56DE\u903B\u8F91\u6267\u884C\u5B8C\u6BD5");
|
|
174
175
|
}
|
|
175
176
|
async \u521D\u59CB\u5316WebSocket(server) {
|
|
176
177
|
let wss = new import_ws.WebSocketServer({ server });
|
|
177
178
|
let logBase = await this.log;
|
|
178
179
|
wss.on("listening", async () => {
|
|
179
|
-
let
|
|
180
|
-
await
|
|
180
|
+
let log2 = logBase;
|
|
181
|
+
await log2.info("WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u76D1\u542C");
|
|
181
182
|
});
|
|
182
183
|
wss.on("error", async (err) => {
|
|
183
|
-
let
|
|
184
|
-
await
|
|
184
|
+
let log2 = logBase;
|
|
185
|
+
await log2.error("WebSocket \u670D\u52A1\u5668\u53D1\u751F\u9519\u8BEF: %o", err);
|
|
185
186
|
});
|
|
186
187
|
wss.on("connection", async (ws, req) => {
|
|
187
|
-
let
|
|
188
|
-
|
|
188
|
+
let log2 = logBase.extend((0, import_short_uuid.default)().new()).extend("WebSocket");
|
|
189
|
+
log2.debugSync("\u6536\u5230 WebSocket \u8FDE\u63A5\u8BF7\u6C42: %o", req.url);
|
|
189
190
|
let \u5BA2\u6237\u7AEFid = req.url?.split("?id=")[1] ?? null;
|
|
190
191
|
if (\u5BA2\u6237\u7AEFid === null) {
|
|
191
|
-
|
|
192
|
-
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
192
|
+
log2.errorSync("\u8FDE\u63A5\u8BF7\u6C42\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
193
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log2, 4001, "\u7F3A\u5C11\u5BA2\u6237\u7AEF ID");
|
|
193
194
|
}
|
|
194
|
-
|
|
195
|
+
log2.debugSync("\u89E3\u6790\u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
195
196
|
let WebSocket\u7BA1\u7406\u56682 = Global.getItemSync("WebSocket\u7BA1\u7406\u5668");
|
|
196
197
|
let \u8FDE\u63A5\u5DF2\u5B58\u5728 = WebSocket\u7BA1\u7406\u56682.\u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(\u5BA2\u6237\u7AEFid);
|
|
197
198
|
if (\u8FDE\u63A5\u5DF2\u5B58\u5728) {
|
|
198
|
-
|
|
199
|
-
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
199
|
+
log2.errorSync("\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728: %s", \u5BA2\u6237\u7AEFid);
|
|
200
|
+
return this.\u5173\u95EDWebSocket\u8FDE\u63A5(ws, log2, 4002, "\u5BA2\u6237\u7AEF ID \u5DF2\u5B58\u5728");
|
|
200
201
|
}
|
|
201
202
|
WebSocket\u7BA1\u7406\u56682.\u589E\u52A0\u8FDE\u63A5(\u5BA2\u6237\u7AEFid, ws);
|
|
202
|
-
|
|
203
|
+
log2.infoSync("WebSocket \u8FDE\u63A5\u5DF2\u5EFA\u7ACB, \u5BA2\u6237\u7AEF ID: %s", \u5BA2\u6237\u7AEFid);
|
|
203
204
|
ws.on("close", async () => {
|
|
204
|
-
|
|
205
|
+
log2.infoSync("WebSocket \u8FDE\u63A5\u5173\u95ED: %s", \u5BA2\u6237\u7AEFid);
|
|
205
206
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
206
207
|
});
|
|
207
208
|
ws.on("error", async (err) => {
|
|
208
|
-
|
|
209
|
+
log2.errorSync("WebSocket \u51FA\u73B0\u9519\u8BEF, \u5BA2\u6237\u7AEF ID: %s, \u9519\u8BEF: %o", \u5BA2\u6237\u7AEFid, err);
|
|
209
210
|
WebSocket\u7BA1\u7406\u56682.\u5220\u9664\u8FDE\u63A5(\u5BA2\u6237\u7AEFid);
|
|
210
211
|
});
|
|
211
212
|
});
|
|
212
213
|
}
|
|
213
|
-
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws,
|
|
214
|
-
await
|
|
214
|
+
async \u5173\u95EDWebSocket\u8FDE\u63A5(ws, log2, code, reason) {
|
|
215
|
+
await log2.debug(`\u5173\u95ED WebSocket \u8FDE\u63A5, \u4EE3\u7801: ${code}, \u539F\u56E0: ${reason}`);
|
|
215
216
|
ws.close(code, reason);
|
|
216
217
|
}
|
|
217
218
|
\u83B7\u53D6\u672C\u5730\u5730\u5740() {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
// src/global/global.ts
|
|
2
2
|
import { GlobalItem, GlobalService } from "@lsby/ts-global";
|
|
3
3
|
import { Log } from "@lsby/ts-log";
|
|
4
|
+
var log = new Log("@lsby:net-core");
|
|
4
5
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
5
6
|
constructor(\u8FDE\u63A5\u8868) {
|
|
6
7
|
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
7
8
|
}
|
|
8
|
-
log =
|
|
9
|
+
log = log.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668");
|
|
9
10
|
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
10
11
|
\u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
11
12
|
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
@@ -33,7 +34,7 @@ var WebSocket\u7BA1\u7406\u5668 = class {
|
|
|
33
34
|
}
|
|
34
35
|
};
|
|
35
36
|
var Global = new GlobalService([
|
|
36
|
-
new GlobalItem("log",
|
|
37
|
+
new GlobalItem("log", log),
|
|
37
38
|
new GlobalItem("WebSocket\u7BA1\u7406\u5668", new WebSocket\u7BA1\u7406\u5668({}))
|
|
38
39
|
]);
|
|
39
40
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Global
|
|
3
|
-
} from "./chunk-567N5OFV.js";
|
|
4
1
|
import {
|
|
5
2
|
插件
|
|
6
3
|
} from "./chunk-43GZE5YL.js";
|
|
4
|
+
import {
|
|
5
|
+
Global
|
|
6
|
+
} from "./chunk-BFL3HOQE.js";
|
|
7
7
|
|
|
8
8
|
// src/plugin/extend/custom-data.ts
|
|
9
9
|
var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
package/dist/esm/index.js
CHANGED
|
@@ -1,57 +1,52 @@
|
|
|
1
1
|
import {
|
|
2
2
|
自定义数据插件
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VFOG5LBT.js";
|
|
4
4
|
import {
|
|
5
5
|
JSON解析插件
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GMYXAJS3.js";
|
|
7
7
|
import {
|
|
8
8
|
调试请求头插件
|
|
9
9
|
} from "./chunk-7MHKNSNT.js";
|
|
10
10
|
import {
|
|
11
11
|
GET参数解析插件
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-AY6KWNWX.js";
|
|
13
13
|
import {
|
|
14
14
|
发送文件插件
|
|
15
15
|
} from "./chunk-RRUUWHTF.js";
|
|
16
16
|
import {
|
|
17
17
|
表单解析插件
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-YITJBWMM.js";
|
|
19
19
|
import {
|
|
20
20
|
WebSocket插件
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-TD5W3AAH.js";
|
|
22
22
|
import {
|
|
23
23
|
中文路径支持插件
|
|
24
24
|
} from "./chunk-4BFNDHRC.js";
|
|
25
25
|
import {
|
|
26
26
|
接口测试
|
|
27
27
|
} from "./chunk-N7TPWCQ5.js";
|
|
28
|
+
import {
|
|
29
|
+
插件
|
|
30
|
+
} from "./chunk-43GZE5YL.js";
|
|
28
31
|
import {
|
|
29
32
|
服务器
|
|
30
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-ZF7SHZXM.js";
|
|
31
34
|
import {
|
|
32
35
|
EXPORT_TYPE
|
|
33
36
|
} from "./chunk-ZF7EC2OM.js";
|
|
34
37
|
import "./chunk-XPFEAXE4.js";
|
|
35
38
|
import {
|
|
36
39
|
常用形式接口封装
|
|
37
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-FEURUNOT.js";
|
|
38
41
|
import {
|
|
39
42
|
常用延时直接形式接口封装
|
|
40
|
-
} from "./chunk-
|
|
41
|
-
import
|
|
42
|
-
常用延时直接形式转换器,
|
|
43
|
-
常用形式转换器,
|
|
44
|
-
接口结果转换器
|
|
45
|
-
} from "./chunk-AEG7V7QY.js";
|
|
46
|
-
import "./chunk-567N5OFV.js";
|
|
43
|
+
} from "./chunk-JLHGWUH6.js";
|
|
44
|
+
import "./chunk-BFL3HOQE.js";
|
|
47
45
|
import {
|
|
48
46
|
构造元组,
|
|
49
47
|
构造对象
|
|
50
48
|
} from "./chunk-YMH6HJJF.js";
|
|
51
49
|
import "./chunk-ZIVQ3WZA.js";
|
|
52
|
-
import {
|
|
53
|
-
插件
|
|
54
|
-
} from "./chunk-43GZE5YL.js";
|
|
55
50
|
import {
|
|
56
51
|
接口
|
|
57
52
|
} from "./chunk-JMR7QAHO.js";
|
|
@@ -59,6 +54,11 @@ import {
|
|
|
59
54
|
接口逻辑,
|
|
60
55
|
接口逻辑Base
|
|
61
56
|
} from "./chunk-LZKS5TUK.js";
|
|
57
|
+
import {
|
|
58
|
+
常用延时直接形式转换器,
|
|
59
|
+
常用形式转换器,
|
|
60
|
+
接口结果转换器
|
|
61
|
+
} from "./chunk-AEG7V7QY.js";
|
|
62
62
|
export {
|
|
63
63
|
EXPORT_TYPE,
|
|
64
64
|
GET\u53C2\u6570\u89E3\u6790\u63D2\u4EF6,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
常用延时直接形式接口封装
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-AEG7V7QY.js";
|
|
3
|
+
} from "../chunk-JLHGWUH6.js";
|
|
5
4
|
import "../chunk-JMR7QAHO.js";
|
|
5
|
+
import "../chunk-AEG7V7QY.js";
|
|
6
6
|
export {
|
|
7
7
|
\u5E38\u7528\u5EF6\u65F6\u76F4\u63A5\u5F62\u5F0F\u63A5\u53E3\u5C01\u88C5
|
|
8
8
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lsby/net-core",
|
|
3
|
-
"version": "0.7.11
|
|
3
|
+
"version": "0.7.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"require": "./dist/cjs/index.cjs",
|
|
@@ -36,7 +36,6 @@
|
|
|
36
36
|
"express": "^4.19.2",
|
|
37
37
|
"lodash": "^4.17.21",
|
|
38
38
|
"short-uuid": "^5.2.0",
|
|
39
|
-
"vitest": "^2.0.2",
|
|
40
39
|
"ws": "^8.18.0",
|
|
41
40
|
"zod": "^3.24.2"
|
|
42
41
|
},
|
|
@@ -60,7 +59,8 @@
|
|
|
60
59
|
"prettier-plugin-organize-imports": "^4.1.0",
|
|
61
60
|
"prettier-plugin-packagejson": "^2.5.2",
|
|
62
61
|
"tsup": "^8.5.0",
|
|
63
|
-
"typescript": "<5.6.0"
|
|
62
|
+
"typescript": "<5.6.0",
|
|
63
|
+
"vitest": "^2.0.2"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
66
|
"@lsby/ts-fp-data": "^0.2.5",
|