@lsby/net-core 0.7.0 → 0.7.1
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 +26 -148
- package/dist/cjs/global/web-socket-management.cjs +26 -148
- package/dist/cjs/global/web-socket-management.d.cts +8 -10
- package/dist/cjs/help/help.cjs +2 -27
- package/dist/cjs/help/help.d.cts +1 -16
- package/dist/cjs/help/interior.cjs +52 -0
- package/dist/cjs/help/interior.d.cts +17 -0
- package/dist/cjs/index.cjs +97 -197
- package/dist/cjs/index.d.cts +3 -2
- package/dist/cjs/interface/interface-base.d.cts +2 -2
- package/dist/cjs/interface/interface-logic.cjs +1 -1
- package/dist/cjs/interface/interface-logic.d.cts +2 -2
- package/dist/cjs/interface/interface-result.d.cts +2 -2
- package/dist/{esm/interface-base-52hTGKAQ.d.ts → cjs/interface-base-CBN3QoUN.d.cts} +1 -1
- package/dist/cjs/plugin/extend/chinese-path.d.cts +2 -2
- package/dist/cjs/plugin/extend/custom-data.cjs +26 -148
- package/dist/cjs/plugin/extend/custom-data.d.cts +2 -2
- package/dist/cjs/plugin/extend/json.cjs +1 -1
- package/dist/cjs/plugin/extend/json.d.cts +2 -2
- package/dist/cjs/plugin/extend/log-headers.d.cts +2 -2
- package/dist/cjs/plugin/extend/query.cjs +1 -1
- package/dist/cjs/plugin/extend/query.d.cts +2 -2
- package/dist/cjs/plugin/extend/send-file-plugin.d.cts +2 -2
- package/dist/cjs/plugin/extend/urlencoded.cjs +26 -148
- package/dist/cjs/plugin/extend/urlencoded.d.cts +2 -2
- package/dist/cjs/plugin/extend/web-socket.cjs +46 -150
- package/dist/cjs/plugin/extend/web-socket.d.cts +2 -2
- package/dist/cjs/plugin/plug.d.cts +2 -2
- package/dist/cjs/server/server.cjs +49 -167
- package/dist/cjs/server/server.d.cts +2 -2
- package/dist/cjs/wrapper/common-wrapper.d.cts +2 -2
- package/dist/cjs/wrapper/deferred-result-wrapper.d.cts +2 -2
- package/dist/esm/{chunk-FDEUJJA6.js → chunk-2I2MJFB2.js} +1 -1
- package/dist/esm/{chunk-4AXMR5NB.js → chunk-2JQ7AEO4.js} +1 -1
- package/dist/esm/chunk-AB3GCWSG.js +55 -0
- package/dist/esm/{chunk-JB4HVEXB.js → chunk-G6IT6LW7.js} +1 -1
- package/dist/esm/{chunk-RYGSLVLS.js → chunk-NMG5C5AS.js} +1 -9
- package/dist/esm/{chunk-PW4C7Y5B.js → chunk-QXHAH6TU.js} +26 -22
- package/dist/esm/{chunk-47MYYUQZ.js → chunk-RHDBIJPA.js} +1 -1
- package/dist/esm/{chunk-XPC3O5HH.js → chunk-UMOKW2FY.js} +21 -3
- package/dist/esm/chunk-YMH6HJJF.js +12 -0
- package/dist/esm/{chunk-BD3TBYRH.js → chunk-YMW7PURV.js} +1 -1
- package/dist/esm/global/global.js +1 -1
- package/dist/esm/global/web-socket-management.d.ts +8 -10
- package/dist/esm/global/web-socket-management.js +1 -1
- package/dist/esm/help/help.d.ts +1 -16
- package/dist/esm/help/help.js +3 -7
- package/dist/esm/help/interior.d.ts +17 -0
- package/dist/esm/help/interior.js +8 -0
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +24 -27
- package/dist/esm/interface/interface-base.d.ts +2 -2
- package/dist/esm/interface/interface-logic.d.ts +2 -2
- package/dist/esm/interface/interface-logic.js +1 -1
- package/dist/esm/interface/interface-result.d.ts +2 -2
- package/dist/{cjs/interface-base-CNHVr8eR.d.cts → esm/interface-base-D8Jo2TEo.d.ts} +1 -1
- package/dist/esm/plugin/extend/chinese-path.d.ts +2 -2
- package/dist/esm/plugin/extend/custom-data.d.ts +2 -2
- package/dist/esm/plugin/extend/custom-data.js +2 -2
- package/dist/esm/plugin/extend/json.d.ts +2 -2
- package/dist/esm/plugin/extend/json.js +2 -2
- package/dist/esm/plugin/extend/log-headers.d.ts +2 -2
- package/dist/esm/plugin/extend/query.d.ts +2 -2
- package/dist/esm/plugin/extend/query.js +2 -2
- package/dist/esm/plugin/extend/send-file-plugin.d.ts +2 -2
- package/dist/esm/plugin/extend/urlencoded.d.ts +2 -2
- package/dist/esm/plugin/extend/urlencoded.js +2 -2
- package/dist/esm/plugin/extend/web-socket.d.ts +2 -2
- package/dist/esm/plugin/extend/web-socket.js +2 -2
- package/dist/esm/plugin/plug.d.ts +2 -2
- package/dist/esm/server/server.d.ts +2 -2
- package/dist/esm/server/server.js +3 -3
- package/dist/esm/wrapper/common-wrapper.d.ts +2 -2
- package/dist/esm/wrapper/common-wrapper.js +2 -2
- package/dist/esm/wrapper/deferred-result-wrapper.d.ts +2 -2
- package/dist/esm/wrapper/deferred-result-wrapper.js +2 -2
- package/package.json +1 -1
- package/dist/esm/chunk-LDWZKZLU.js +0 -177
- package/dist/esm/{chunk-JLHGWUH6.js → chunk-FHU5AZWT.js} +3 -3
- package/dist/esm/{chunk-FEURUNOT.js → chunk-WYJFP5V5.js} +3 -3
|
@@ -30,162 +30,40 @@ var import_ts_log = require("@lsby/ts-log");
|
|
|
30
30
|
|
|
31
31
|
// src/global/web-socket-management.ts
|
|
32
32
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
async \u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, code, \u8BF4\u660E) {
|
|
36
|
-
let log = (await this.log).extend(id).extend("\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5");
|
|
37
|
-
try {
|
|
38
|
-
await this.\u8FDE\u63A5\u8868[id]?.\u6E05\u7406\u51FD\u6570?.();
|
|
39
|
-
} catch (err) {
|
|
40
|
-
await log.error(`\u6267\u884C\u6E05\u7406\u51FD\u6570\u5931\u8D25: %o.`, String(err));
|
|
41
|
-
}
|
|
42
|
-
this.\u8FDE\u63A5\u8868[id]?.ws?.close(code, \u8BF4\u660E);
|
|
43
|
-
delete this.\u8FDE\u63A5\u8868[id];
|
|
33
|
+
constructor(\u8FDE\u63A5\u8868) {
|
|
34
|
+
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
44
35
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
await log.error(`\u65E0\u6CD5\u627E\u5230\u8FDE\u63A5`);
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
if (\u8FDE\u63A5.\u5DF2\u9519\u8BEF === true) {
|
|
53
|
-
await log.error(`\u8FDE\u63A5\u5DF2\u88AB\u6807\u8BB0\u4E3A\u9519\u8BEF, \u65AD\u5F00\u8FDE\u63A5.`);
|
|
54
|
-
clearTimeout(\u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668);
|
|
55
|
-
await this.\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, 1011, "\u53D1\u751F\u9519\u8BEF");
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
if (\u8FDE\u63A5.\u5DF2\u5B8C\u6210 === true && \u8FDE\u63A5.\u7F13\u5B58.length === 0) {
|
|
59
|
-
await log.debug(`\u8FDE\u63A5\u5DF2\u5B8C\u6210, \u6B63\u5E38\u5173\u95ED.`);
|
|
60
|
-
await this.\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, 1e3, "\u6B63\u5E38\u5173\u95ED");
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
if (\u8FDE\u63A5.\u5DF2\u65AD\u5F00 === false) {
|
|
64
|
-
clearTimeout(\u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668);
|
|
65
|
-
}
|
|
66
|
-
if (\u8FDE\u63A5.\u5DF2\u65AD\u5F00 === true) {
|
|
67
|
-
await log.debug("\u8FDE\u63A5\u5DF2\u65AD\u5F00, \u7B49\u5F85\u5BA2\u6237\u7AEF\u91CD\u8FDE.");
|
|
68
|
-
let \u8D85\u65F6\u65F6\u95F4 = 3e4;
|
|
69
|
-
clearTimeout(\u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668);
|
|
70
|
-
\u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668 = setTimeout(async () => {
|
|
71
|
-
if (this.\u8FDE\u63A5\u8868[id]?.\u5DF2\u65AD\u5F00 === true) {
|
|
72
|
-
await log.error("\u5BA2\u6237\u7AEF\u8D85\u65F6\u672A\u91CD\u8FDE\uFF0C\u6E05\u7406\u8FDE\u63A5.");
|
|
73
|
-
await this.\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, 1011, "\u5BA2\u6237\u7AEF\u8D85\u65F6\u672A\u91CD\u8FDE\uFF0C\u6E05\u7406\u8FDE\u63A5");
|
|
74
|
-
}
|
|
75
|
-
}, \u8D85\u65F6\u65F6\u95F4);
|
|
76
|
-
}
|
|
36
|
+
log = Global.getItem("log").then((a) => a.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668"));
|
|
37
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
38
|
+
async \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
39
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
77
40
|
}
|
|
78
|
-
async \
|
|
79
|
-
|
|
80
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0) {
|
|
81
|
-
this.\u8FDE\u63A5\u8868[id] = {
|
|
82
|
-
ws,
|
|
83
|
-
\u7F13\u5B58: [],
|
|
84
|
-
\u5DF2\u5B8C\u6210: false,
|
|
85
|
-
\u5DF2\u65AD\u5F00: false,
|
|
86
|
-
\u5DF2\u9519\u8BEF: false,
|
|
87
|
-
\u6570\u636E\u53D1\u9001\u4E2D: false,
|
|
88
|
-
\u7F13\u5B58\u53D1\u9001\u4E2D: false
|
|
89
|
-
};
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
let \u65E7\u53E5\u67C4 = this.\u8FDE\u63A5\u8868[id].ws;
|
|
93
|
-
await log.info("\u65E7\u8FDE\u63A5\u5B58\u5728, \u5C06\u66FF\u6362\u8868\u4E2D\u6570\u636E, \u5E76\u5173\u95ED\u65E7ws\u53E5\u67C4.");
|
|
94
|
-
this.\u8FDE\u63A5\u8868[id].ws = ws;
|
|
95
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u5B8C\u6210 = false;
|
|
96
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u65AD\u5F00 = false;
|
|
97
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u9519\u8BEF = false;
|
|
98
|
-
this.\u8FDE\u63A5\u8868[id].\u6570\u636E\u53D1\u9001\u4E2D = false;
|
|
99
|
-
this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58\u53D1\u9001\u4E2D = false;
|
|
100
|
-
\u65E7\u53E5\u67C4?.close(1011, "\u65B0\u8FDE\u63A5\u66FF\u6362\u65E7\u8FDE\u63A5");
|
|
101
|
-
await log.info("\u53D1\u9001\u65E7\u8FDE\u63A5\u7F13\u5B58");
|
|
102
|
-
this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58\u53D1\u9001\u4E2D = true;
|
|
103
|
-
while (this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58.length !== 0) {
|
|
104
|
-
await this.\u53D1\u9001\u4FE1\u606F_\u5185\u90E8(id, this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58.shift());
|
|
105
|
-
}
|
|
106
|
-
this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58\u53D1\u9001\u4E2D = false;
|
|
107
|
-
await log.info("\u53D1\u9001\u65E7\u8FDE\u63A5\u7F13\u5B58\u5B8C\u6210");
|
|
41
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
42
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
108
43
|
}
|
|
109
44
|
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
110
|
-
|
|
111
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0) {
|
|
112
|
-
await log.error(`\u65E0\u6CD5\u627E\u5230\u8FDE\u63A5`);
|
|
45
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false)
|
|
113
46
|
return;
|
|
114
|
-
|
|
115
|
-
this.\u8FDE\u63A5\u8868[id].\u6E05\u7406\u51FD\u6570 = \u6E05\u7406\u51FD\u6570;
|
|
47
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
116
48
|
}
|
|
117
|
-
async \
|
|
118
|
-
|
|
119
|
-
while (this.\u8FDE\u63A5\u8868[id]?.\u6570\u636E\u53D1\u9001\u4E2D === true) {
|
|
120
|
-
await log.info("\u6570\u636E\u53D1\u9001\u4E2D, \u5C06\u9000\u907F.");
|
|
121
|
-
let \u9000\u907F\u65F6\u95F4 = 100;
|
|
122
|
-
await new Promise((res, _rej) => setTimeout(() => res(), \u9000\u907F\u65F6\u95F4));
|
|
123
|
-
}
|
|
124
|
-
let \u8FDE\u63A5 = this.\u8FDE\u63A5\u8868[id];
|
|
125
|
-
if (\u8FDE\u63A5 === void 0) {
|
|
126
|
-
await log.error("\u65E0\u6CD5\u627E\u5230\u8FDE\u63A5");
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
await new Promise((res, rej) => {
|
|
130
|
-
\u8FDE\u63A5.\u6570\u636E\u53D1\u9001\u4E2D = true;
|
|
131
|
-
let ws\u53E5\u67C4 = \u8FDE\u63A5.ws;
|
|
132
|
-
if (ws\u53E5\u67C4 === null) {
|
|
133
|
-
log.error("\u65E0\u6CD5\u627E\u5230ws\u53E5\u67C4").catch(console.error);
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
ws\u53E5\u67C4.send(JSON.stringify(data), (err) => {
|
|
137
|
-
if ((err ?? null) !== null) {
|
|
138
|
-
log.error(err).catch(console.error);
|
|
139
|
-
return rej(err);
|
|
140
|
-
}
|
|
141
|
-
log.debug("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F").catch(console.error);
|
|
142
|
-
return res();
|
|
143
|
-
});
|
|
144
|
-
}).finally(() => {
|
|
145
|
-
\u8FDE\u63A5.\u6570\u636E\u53D1\u9001\u4E2D = false;
|
|
146
|
-
});
|
|
49
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
50
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
147
51
|
}
|
|
148
|
-
async \
|
|
149
|
-
let log =
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
await log.error("\u8FDE\u63A5\u5DF2\u65AD\u5F00, \u5C06\u7F13\u5B58\u6570\u636E.");
|
|
156
|
-
this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58.push(data);
|
|
157
|
-
return;
|
|
52
|
+
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
53
|
+
let log = await this.log;
|
|
54
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
55
|
+
try {
|
|
56
|
+
this.\u8FDE\u63A5\u8868[id]?.close(1e3, "\u670D\u52A1\u5668\u4E3B\u52A8\u5173\u95ED");
|
|
57
|
+
} catch (err) {
|
|
58
|
+
await log.error(`\u5173\u95ED WebSocket \u53E5\u67C4\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`);
|
|
158
59
|
}
|
|
159
|
-
|
|
160
|
-
await
|
|
161
|
-
|
|
162
|
-
await
|
|
60
|
+
try {
|
|
61
|
+
await \u6E05\u7406\u51FD\u6570?.();
|
|
62
|
+
} catch (err) {
|
|
63
|
+
await log.error(`\u6E05\u7406\u8FDE\u63A5\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`);
|
|
163
64
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
async \u6807\u8BB0\u8FDE\u63A5\u5DF2\u5B8C\u6210(id) {
|
|
167
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0)
|
|
168
|
-
return;
|
|
169
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u5B8C\u6210 = true;
|
|
170
|
-
await this.\u9500\u6BC1\u5224\u5B9A(id);
|
|
171
|
-
}
|
|
172
|
-
async \u6807\u8BB0\u8FDE\u63A5\u5DF2\u65AD\u5F00(id) {
|
|
173
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0)
|
|
174
|
-
return;
|
|
175
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u65AD\u5F00 = true;
|
|
176
|
-
await this.\u9500\u6BC1\u5224\u5B9A(id);
|
|
177
|
-
}
|
|
178
|
-
async \u53D6\u6D88\u6807\u8BB0\u8FDE\u63A5\u5DF2\u65AD\u5F00(id) {
|
|
179
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0)
|
|
180
|
-
return;
|
|
181
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u65AD\u5F00 = false;
|
|
182
|
-
await this.\u9500\u6BC1\u5224\u5B9A(id);
|
|
183
|
-
}
|
|
184
|
-
async \u6807\u8BB0\u8FDE\u63A5\u5DF2\u9519\u8BEF(id) {
|
|
185
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0)
|
|
186
|
-
return;
|
|
187
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u9519\u8BEF = true;
|
|
188
|
-
await this.\u9500\u6BC1\u5224\u5B9A(id);
|
|
65
|
+
delete this.\u8FDE\u63A5\u8868[id];
|
|
66
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
189
67
|
}
|
|
190
68
|
};
|
|
191
69
|
|
|
@@ -195,7 +73,7 @@ var Global = new import_ts_global.GlobalService([
|
|
|
195
73
|
return new import_ts_log.Log("@lsby:net-core");
|
|
196
74
|
}),
|
|
197
75
|
new import_ts_global.GlobalAsyncItem("WebSocket\u7BA1\u7406\u5668", async () => {
|
|
198
|
-
return new WebSocket\u7BA1\u7406\u5668();
|
|
76
|
+
return new WebSocket\u7BA1\u7406\u5668({});
|
|
199
77
|
})
|
|
200
78
|
]);
|
|
201
79
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { 插 as __ } from '../../interface-base-
|
|
2
|
+
import { 插 as __ } from '../../interface-base-CBN3QoUN.cjs';
|
|
3
3
|
import '@lsby/ts-fp-data';
|
|
4
4
|
import 'express';
|
|
5
|
-
import '../../help/
|
|
5
|
+
import '../../help/interior.cjs';
|
|
6
6
|
import '@lsby/ts-log';
|
|
7
7
|
import 'node:http';
|
|
8
8
|
|
|
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(json_exports);
|
|
|
36
36
|
var import_express = __toESM(require("express"), 1);
|
|
37
37
|
var import_node_util = require("util");
|
|
38
38
|
|
|
39
|
-
// src/help/
|
|
39
|
+
// src/help/interior.ts
|
|
40
40
|
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
41
41
|
let \u6700\u5927\u65E5\u5FD7\u957F\u5EA6 = 1e3;
|
|
42
42
|
if (\u5185\u5BB9.length > \u6700\u5927\u65E5\u5FD7\u957F\u5EA6)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { AnyZodObject, z } from 'zod';
|
|
3
|
-
import { 插 as __, 包 as _____, y as _____$1, 取 as _Task______, n as __________ } from '../../interface-base-
|
|
3
|
+
import { 插 as __, 包 as _____, y as _____$1, 取 as _Task______, n as __________ } from '../../interface-base-CBN3QoUN.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
|
-
import '../../help/
|
|
5
|
+
import '../../help/interior.cjs';
|
|
6
6
|
import '@lsby/ts-log';
|
|
7
7
|
import 'node:http';
|
|
8
8
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { 插 as __ } from '../../interface-base-
|
|
2
|
+
import { 插 as __ } from '../../interface-base-CBN3QoUN.cjs';
|
|
3
3
|
import '@lsby/ts-fp-data';
|
|
4
4
|
import 'express';
|
|
5
|
-
import '../../help/
|
|
5
|
+
import '../../help/interior.cjs';
|
|
6
6
|
import '@lsby/ts-log';
|
|
7
7
|
import 'node:http';
|
|
8
8
|
|
|
@@ -25,7 +25,7 @@ __export(query_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(query_exports);
|
|
26
26
|
var import_node_util = require("util");
|
|
27
27
|
|
|
28
|
-
// src/help/
|
|
28
|
+
// src/help/interior.ts
|
|
29
29
|
function \u622A\u65AD\u5B57\u7B26\u4E32(\u5185\u5BB9) {
|
|
30
30
|
let \u6700\u5927\u65E5\u5FD7\u957F\u5EA6 = 1e3;
|
|
31
31
|
if (\u5185\u5BB9.length > \u6700\u5927\u65E5\u5FD7\u957F\u5EA6)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AnyZodObject, z } from 'zod';
|
|
2
|
-
import { 插 as __, 包 as _____, y as _____$1, 取 as _Task______, n as __________ } from '../../interface-base-
|
|
2
|
+
import { 插 as __, 包 as _____, y as _____$1, 取 as _Task______, n as __________ } from '../../interface-base-CBN3QoUN.cjs';
|
|
3
3
|
import '@lsby/ts-fp-data';
|
|
4
4
|
import 'express';
|
|
5
|
-
import '../../help/
|
|
5
|
+
import '../../help/interior.cjs';
|
|
6
6
|
import '@lsby/ts-log';
|
|
7
7
|
import 'node:http';
|
|
8
8
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { 插 as __ } from '../../interface-base-
|
|
2
|
+
import { 插 as __ } from '../../interface-base-CBN3QoUN.cjs';
|
|
3
3
|
import '@lsby/ts-fp-data';
|
|
4
4
|
import 'express';
|
|
5
|
-
import '../../help/
|
|
5
|
+
import '../../help/interior.cjs';
|
|
6
6
|
import '@lsby/ts-log';
|
|
7
7
|
import 'node:http';
|
|
8
8
|
|
|
@@ -42,162 +42,40 @@ var import_ts_log = require("@lsby/ts-log");
|
|
|
42
42
|
|
|
43
43
|
// src/global/web-socket-management.ts
|
|
44
44
|
var WebSocket\u7BA1\u7406\u5668 = class {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
async \u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, code, \u8BF4\u660E) {
|
|
48
|
-
let log = (await this.log).extend(id).extend("\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5");
|
|
49
|
-
try {
|
|
50
|
-
await this.\u8FDE\u63A5\u8868[id]?.\u6E05\u7406\u51FD\u6570?.();
|
|
51
|
-
} catch (err) {
|
|
52
|
-
await log.error(`\u6267\u884C\u6E05\u7406\u51FD\u6570\u5931\u8D25: %o.`, String(err));
|
|
53
|
-
}
|
|
54
|
-
this.\u8FDE\u63A5\u8868[id]?.ws?.close(code, \u8BF4\u660E);
|
|
55
|
-
delete this.\u8FDE\u63A5\u8868[id];
|
|
45
|
+
constructor(\u8FDE\u63A5\u8868) {
|
|
46
|
+
this.\u8FDE\u63A5\u8868 = \u8FDE\u63A5\u8868;
|
|
56
47
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
await log.error(`\u65E0\u6CD5\u627E\u5230\u8FDE\u63A5`);
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (\u8FDE\u63A5.\u5DF2\u9519\u8BEF === true) {
|
|
65
|
-
await log.error(`\u8FDE\u63A5\u5DF2\u88AB\u6807\u8BB0\u4E3A\u9519\u8BEF, \u65AD\u5F00\u8FDE\u63A5.`);
|
|
66
|
-
clearTimeout(\u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668);
|
|
67
|
-
await this.\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, 1011, "\u53D1\u751F\u9519\u8BEF");
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
if (\u8FDE\u63A5.\u5DF2\u5B8C\u6210 === true && \u8FDE\u63A5.\u7F13\u5B58.length === 0) {
|
|
71
|
-
await log.debug(`\u8FDE\u63A5\u5DF2\u5B8C\u6210, \u6B63\u5E38\u5173\u95ED.`);
|
|
72
|
-
await this.\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, 1e3, "\u6B63\u5E38\u5173\u95ED");
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
if (\u8FDE\u63A5.\u5DF2\u65AD\u5F00 === false) {
|
|
76
|
-
clearTimeout(\u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668);
|
|
77
|
-
}
|
|
78
|
-
if (\u8FDE\u63A5.\u5DF2\u65AD\u5F00 === true) {
|
|
79
|
-
await log.debug("\u8FDE\u63A5\u5DF2\u65AD\u5F00, \u7B49\u5F85\u5BA2\u6237\u7AEF\u91CD\u8FDE.");
|
|
80
|
-
let \u8D85\u65F6\u65F6\u95F4 = 3e4;
|
|
81
|
-
clearTimeout(\u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668);
|
|
82
|
-
\u8FDE\u63A5.\u8D85\u65F6\u5B9A\u65F6\u5668 = setTimeout(async () => {
|
|
83
|
-
if (this.\u8FDE\u63A5\u8868[id]?.\u5DF2\u65AD\u5F00 === true) {
|
|
84
|
-
await log.error("\u5BA2\u6237\u7AEF\u8D85\u65F6\u672A\u91CD\u8FDE\uFF0C\u6E05\u7406\u8FDE\u63A5.");
|
|
85
|
-
await this.\u5173\u95ED\u5E76\u5220\u9664\u8FDE\u63A5(id, 1011, "\u5BA2\u6237\u7AEF\u8D85\u65F6\u672A\u91CD\u8FDE\uFF0C\u6E05\u7406\u8FDE\u63A5");
|
|
86
|
-
}
|
|
87
|
-
}, \u8D85\u65F6\u65F6\u95F4);
|
|
88
|
-
}
|
|
48
|
+
log = Global.getItem("log").then((a) => a.extend("@lsby:net-core").extend("WebSocket\u7BA1\u7406\u5668"));
|
|
49
|
+
\u6E05\u7406\u51FD\u6570\u8868 = {};
|
|
50
|
+
async \u589E\u52A0\u8FDE\u63A5(id, ws\u53E5\u67C4) {
|
|
51
|
+
this.\u8FDE\u63A5\u8868[id] = ws\u53E5\u67C4;
|
|
89
52
|
}
|
|
90
|
-
async \
|
|
91
|
-
|
|
92
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0) {
|
|
93
|
-
this.\u8FDE\u63A5\u8868[id] = {
|
|
94
|
-
ws,
|
|
95
|
-
\u7F13\u5B58: [],
|
|
96
|
-
\u5DF2\u5B8C\u6210: false,
|
|
97
|
-
\u5DF2\u65AD\u5F00: false,
|
|
98
|
-
\u5DF2\u9519\u8BEF: false,
|
|
99
|
-
\u6570\u636E\u53D1\u9001\u4E2D: false,
|
|
100
|
-
\u7F13\u5B58\u53D1\u9001\u4E2D: false
|
|
101
|
-
};
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
let \u65E7\u53E5\u67C4 = this.\u8FDE\u63A5\u8868[id].ws;
|
|
105
|
-
await log.info("\u65E7\u8FDE\u63A5\u5B58\u5728, \u5C06\u66FF\u6362\u8868\u4E2D\u6570\u636E, \u5E76\u5173\u95ED\u65E7ws\u53E5\u67C4.");
|
|
106
|
-
this.\u8FDE\u63A5\u8868[id].ws = ws;
|
|
107
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u5B8C\u6210 = false;
|
|
108
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u65AD\u5F00 = false;
|
|
109
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u9519\u8BEF = false;
|
|
110
|
-
this.\u8FDE\u63A5\u8868[id].\u6570\u636E\u53D1\u9001\u4E2D = false;
|
|
111
|
-
this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58\u53D1\u9001\u4E2D = false;
|
|
112
|
-
\u65E7\u53E5\u67C4?.close(1011, "\u65B0\u8FDE\u63A5\u66FF\u6362\u65E7\u8FDE\u63A5");
|
|
113
|
-
await log.info("\u53D1\u9001\u65E7\u8FDE\u63A5\u7F13\u5B58");
|
|
114
|
-
this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58\u53D1\u9001\u4E2D = true;
|
|
115
|
-
while (this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58.length !== 0) {
|
|
116
|
-
await this.\u53D1\u9001\u4FE1\u606F_\u5185\u90E8(id, this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58.shift());
|
|
117
|
-
}
|
|
118
|
-
this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58\u53D1\u9001\u4E2D = false;
|
|
119
|
-
await log.info("\u53D1\u9001\u65E7\u8FDE\u63A5\u7F13\u5B58\u5B8C\u6210");
|
|
53
|
+
async \u67E5\u8BE2\u8FDE\u63A5\u5B58\u5728(id) {
|
|
54
|
+
return this.\u8FDE\u63A5\u8868.hasOwnProperty(id) ? true : false;
|
|
120
55
|
}
|
|
121
56
|
async \u8BBE\u7F6E\u6E05\u7406\u51FD\u6570(id, \u6E05\u7406\u51FD\u6570) {
|
|
122
|
-
|
|
123
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0) {
|
|
124
|
-
await log.error(`\u65E0\u6CD5\u627E\u5230\u8FDE\u63A5`);
|
|
57
|
+
if (this.\u8FDE\u63A5\u8868.hasOwnProperty(id) === false)
|
|
125
58
|
return;
|
|
126
|
-
|
|
127
|
-
this.\u8FDE\u63A5\u8868[id].\u6E05\u7406\u51FD\u6570 = \u6E05\u7406\u51FD\u6570;
|
|
59
|
+
this.\u6E05\u7406\u51FD\u6570\u8868[id] = \u6E05\u7406\u51FD\u6570;
|
|
128
60
|
}
|
|
129
|
-
async \
|
|
130
|
-
|
|
131
|
-
while (this.\u8FDE\u63A5\u8868[id]?.\u6570\u636E\u53D1\u9001\u4E2D === true) {
|
|
132
|
-
await log.info("\u6570\u636E\u53D1\u9001\u4E2D, \u5C06\u9000\u907F.");
|
|
133
|
-
let \u9000\u907F\u65F6\u95F4 = 100;
|
|
134
|
-
await new Promise((res, _rej) => setTimeout(() => res(), \u9000\u907F\u65F6\u95F4));
|
|
135
|
-
}
|
|
136
|
-
let \u8FDE\u63A5 = this.\u8FDE\u63A5\u8868[id];
|
|
137
|
-
if (\u8FDE\u63A5 === void 0) {
|
|
138
|
-
await log.error("\u65E0\u6CD5\u627E\u5230\u8FDE\u63A5");
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
await new Promise((res, rej) => {
|
|
142
|
-
\u8FDE\u63A5.\u6570\u636E\u53D1\u9001\u4E2D = true;
|
|
143
|
-
let ws\u53E5\u67C4 = \u8FDE\u63A5.ws;
|
|
144
|
-
if (ws\u53E5\u67C4 === null) {
|
|
145
|
-
log.error("\u65E0\u6CD5\u627E\u5230ws\u53E5\u67C4").catch(console.error);
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
ws\u53E5\u67C4.send(JSON.stringify(data), (err) => {
|
|
149
|
-
if ((err ?? null) !== null) {
|
|
150
|
-
log.error(err).catch(console.error);
|
|
151
|
-
return rej(err);
|
|
152
|
-
}
|
|
153
|
-
log.debug("WebSocket \u4FE1\u606F\u53D1\u9001\u6210\u529F").catch(console.error);
|
|
154
|
-
return res();
|
|
155
|
-
});
|
|
156
|
-
}).finally(() => {
|
|
157
|
-
\u8FDE\u63A5.\u6570\u636E\u53D1\u9001\u4E2D = false;
|
|
158
|
-
});
|
|
61
|
+
async \u83B7\u5F97\u53E5\u67C4(id) {
|
|
62
|
+
return this.\u8FDE\u63A5\u8868[id] ?? null;
|
|
159
63
|
}
|
|
160
|
-
async \
|
|
161
|
-
let log =
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
await log.error("\u8FDE\u63A5\u5DF2\u65AD\u5F00, \u5C06\u7F13\u5B58\u6570\u636E.");
|
|
168
|
-
this.\u8FDE\u63A5\u8868[id].\u7F13\u5B58.push(data);
|
|
169
|
-
return;
|
|
64
|
+
async \u5220\u9664\u8FDE\u63A5(id) {
|
|
65
|
+
let log = await this.log;
|
|
66
|
+
let \u6E05\u7406\u51FD\u6570 = this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
67
|
+
try {
|
|
68
|
+
this.\u8FDE\u63A5\u8868[id]?.close(1e3, "\u670D\u52A1\u5668\u4E3B\u52A8\u5173\u95ED");
|
|
69
|
+
} catch (err) {
|
|
70
|
+
await log.error(`\u5173\u95ED WebSocket \u53E5\u67C4\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`);
|
|
170
71
|
}
|
|
171
|
-
|
|
172
|
-
await
|
|
173
|
-
|
|
174
|
-
await
|
|
72
|
+
try {
|
|
73
|
+
await \u6E05\u7406\u51FD\u6570?.();
|
|
74
|
+
} catch (err) {
|
|
75
|
+
await log.error(`\u6E05\u7406\u8FDE\u63A5\u5931\u8D25, id: ${id}, \u9519\u8BEF: ${err}`);
|
|
175
76
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
async \u6807\u8BB0\u8FDE\u63A5\u5DF2\u5B8C\u6210(id) {
|
|
179
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0)
|
|
180
|
-
return;
|
|
181
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u5B8C\u6210 = true;
|
|
182
|
-
await this.\u9500\u6BC1\u5224\u5B9A(id);
|
|
183
|
-
}
|
|
184
|
-
async \u6807\u8BB0\u8FDE\u63A5\u5DF2\u65AD\u5F00(id) {
|
|
185
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0)
|
|
186
|
-
return;
|
|
187
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u65AD\u5F00 = true;
|
|
188
|
-
await this.\u9500\u6BC1\u5224\u5B9A(id);
|
|
189
|
-
}
|
|
190
|
-
async \u53D6\u6D88\u6807\u8BB0\u8FDE\u63A5\u5DF2\u65AD\u5F00(id) {
|
|
191
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0)
|
|
192
|
-
return;
|
|
193
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u65AD\u5F00 = false;
|
|
194
|
-
await this.\u9500\u6BC1\u5224\u5B9A(id);
|
|
195
|
-
}
|
|
196
|
-
async \u6807\u8BB0\u8FDE\u63A5\u5DF2\u9519\u8BEF(id) {
|
|
197
|
-
if (this.\u8FDE\u63A5\u8868[id] === void 0)
|
|
198
|
-
return;
|
|
199
|
-
this.\u8FDE\u63A5\u8868[id].\u5DF2\u9519\u8BEF = true;
|
|
200
|
-
await this.\u9500\u6BC1\u5224\u5B9A(id);
|
|
77
|
+
delete this.\u8FDE\u63A5\u8868[id];
|
|
78
|
+
delete this.\u6E05\u7406\u51FD\u6570\u8868[id];
|
|
201
79
|
}
|
|
202
80
|
};
|
|
203
81
|
|
|
@@ -207,7 +85,7 @@ var Global = new import_ts_global.GlobalService([
|
|
|
207
85
|
return new import_ts_log.Log("@lsby:net-core");
|
|
208
86
|
}),
|
|
209
87
|
new import_ts_global.GlobalAsyncItem("WebSocket\u7BA1\u7406\u5668", async () => {
|
|
210
|
-
return new WebSocket\u7BA1\u7406\u5668();
|
|
88
|
+
return new WebSocket\u7BA1\u7406\u5668({});
|
|
211
89
|
})
|
|
212
90
|
]);
|
|
213
91
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { 插 as __ } from '../../interface-base-
|
|
3
|
+
import { 插 as __ } from '../../interface-base-CBN3QoUN.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
|
-
import '../../help/
|
|
5
|
+
import '../../help/interior.cjs';
|
|
6
6
|
import '@lsby/ts-log';
|
|
7
7
|
import 'node:http';
|
|
8
8
|
|