@lsby/net-core 0.1.2 → 0.1.3-beta.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/index.cjs +31 -19
- package/dist/cjs/interface/interface-type.cjs +1 -5
- package/dist/cjs/interface/interface-type.d.cts +2 -4
- package/dist/cjs/server/server.cjs +30 -14
- package/dist/cjs/server/server.d.cts +2 -1
- package/dist/esm/{chunk-SL7J6JLQ.js → chunk-SF5Z34AP.js} +1 -5
- package/dist/esm/{chunk-RJRBL5YX.js → chunk-ZOC74W7T.js} +30 -14
- package/dist/esm/index.js +16 -16
- package/dist/esm/interface/interface-type.d.ts +2 -4
- package/dist/esm/interface/interface-type.js +1 -1
- package/dist/esm/server/server.d.ts +2 -1
- package/dist/esm/server/server.js +1 -1
- package/package.json +1 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -64,13 +64,12 @@ var \u63A5\u53E3 = class {
|
|
|
64
64
|
|
|
65
65
|
// src/interface/interface-type.ts
|
|
66
66
|
var \u63A5\u53E3\u7C7B\u578B = class {
|
|
67
|
-
constructor(\u8DEF\u5F84, \u65B9\u6CD5, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C2, \u9519\u8BEF\u7ED3\u679C2
|
|
67
|
+
constructor(\u8DEF\u5F84, \u65B9\u6CD5, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C2, \u9519\u8BEF\u7ED3\u679C2) {
|
|
68
68
|
this.\u8DEF\u5F84 = \u8DEF\u5F84;
|
|
69
69
|
this.\u65B9\u6CD5 = \u65B9\u6CD5;
|
|
70
70
|
this.\u63D2\u4EF6\u4EEC = \u63D2\u4EF6\u4EEC;
|
|
71
71
|
this.\u6B63\u786E\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C2;
|
|
72
72
|
this.\u9519\u8BEF\u7ED3\u679C = \u9519\u8BEF\u7ED3\u679C2;
|
|
73
|
-
this.\u4F18\u5148\u7EA7 = \u4F18\u5148\u7EA7;
|
|
74
73
|
}
|
|
75
74
|
\u83B7\u5F97\u8DEF\u5F84() {
|
|
76
75
|
return this.\u8DEF\u5F84;
|
|
@@ -87,9 +86,6 @@ var \u63A5\u53E3\u7C7B\u578B = class {
|
|
|
87
86
|
\u83B7\u5F97\u9519\u8BEF\u7ED3\u679C\u7C7B\u578B() {
|
|
88
87
|
return this.\u9519\u8BEF\u7ED3\u679C;
|
|
89
88
|
}
|
|
90
|
-
\u83B7\u5F97\u4F18\u5148\u7EA7() {
|
|
91
|
-
return this.\u4F18\u5148\u7EA7;
|
|
92
|
-
}
|
|
93
89
|
};
|
|
94
90
|
|
|
95
91
|
// src/interface/plug.ts
|
|
@@ -313,33 +309,35 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
|
|
|
313
309
|
var import_node_os = require("os");
|
|
314
310
|
var import_express3 = __toESM(require("express"), 1);
|
|
315
311
|
var \u670D\u52A1\u5668 = class {
|
|
316
|
-
constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3) {
|
|
312
|
+
constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
317
313
|
this.\u63A5\u53E3\u4EEC = \u63A5\u53E3\u4EEC;
|
|
318
314
|
this.\u7AEF\u53E3 = \u7AEF\u53E3;
|
|
315
|
+
this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = \u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
319
316
|
}
|
|
320
317
|
log = GlobalLog.getInstance();
|
|
321
318
|
async run() {
|
|
322
319
|
var log = (await this.log).extend("\u670D\u52A1\u5668");
|
|
323
320
|
const app = (0, import_express3.default)();
|
|
324
|
-
app.use(async (req,
|
|
321
|
+
app.use(async (req, _res, next) => {
|
|
322
|
+
const \u8BF7\u6C42\u8DEF\u5F84 = req.path;
|
|
323
|
+
const \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
324
|
+
await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
325
|
+
next();
|
|
326
|
+
});
|
|
327
|
+
app.use(async (req, res, next) => {
|
|
325
328
|
try {
|
|
329
|
+
await log.debug("\u5C1D\u8BD5\u5339\u914D\u63A5\u53E3...");
|
|
326
330
|
const \u8BF7\u6C42\u8DEF\u5F84 = req.path;
|
|
327
331
|
const \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
328
|
-
|
|
329
|
-
const \u76EE\u6807\u63A5\u53E3\u4EEC = this.\u63A5\u53E3\u4EEC.filter((\u63A5\u53E32) => {
|
|
332
|
+
const \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E32) => {
|
|
330
333
|
const \u63A5\u53E3\u7C7B\u578B3 = \u63A5\u53E32.\u83B7\u5F97\u7C7B\u578B();
|
|
331
|
-
return \u8BF7\u6C42\
|
|
334
|
+
return \u8BF7\u6C42\u8DEF\u5F84 == \u63A5\u53E3\u7C7B\u578B3.\u83B7\u5F97\u8DEF\u5F84() && \u8BF7\u6C42\u65B9\u6CD5 == \u63A5\u53E3\u7C7B\u578B3.\u83B7\u5F97\u65B9\u6CD5();
|
|
332
335
|
});
|
|
333
|
-
await log.debug(
|
|
334
|
-
"\u627E\u5230 %o \u4E2A\u5339\u914D\u7684\u63A5\u53E3: %o",
|
|
335
|
-
\u76EE\u6807\u63A5\u53E3\u4EEC.length,
|
|
336
|
-
\u76EE\u6807\u63A5\u53E3\u4EEC.map((a) => a.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u8DEF\u5F84())
|
|
337
|
-
);
|
|
338
|
-
var \u76EE\u6807\u63A5\u53E3 = \u76EE\u6807\u63A5\u53E3\u4EEC.sort((a, b) => a.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u4F18\u5148\u7EA7() - b.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u4F18\u5148\u7EA7())[0];
|
|
339
336
|
if (\u76EE\u6807\u63A5\u53E3 == void 0) {
|
|
340
|
-
|
|
337
|
+
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u63A5\u53E3");
|
|
338
|
+
next();
|
|
339
|
+
return;
|
|
341
340
|
}
|
|
342
|
-
await log.debug("\u9009\u62E9\u63A5\u53E3: %o", \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u8DEF\u5F84());
|
|
343
341
|
const \u63A5\u53E3\u7C7B\u578B2 = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7C7B\u578B();
|
|
344
342
|
const \u63A5\u53E3\u63D2\u4EF6 = \u63A5\u53E3\u7C7B\u578B2.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
345
343
|
await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63A5\u53E3\u63D2\u4EF6.length);
|
|
@@ -355,9 +353,23 @@ var \u670D\u52A1\u5668 = class {
|
|
|
355
353
|
} catch (e) {
|
|
356
354
|
await log.err(e);
|
|
357
355
|
res.status(500);
|
|
358
|
-
res.send("\
|
|
356
|
+
res.send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
359
357
|
}
|
|
360
358
|
});
|
|
359
|
+
if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
360
|
+
var \u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
361
|
+
app.use(async (req, res, next) => {
|
|
362
|
+
const \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
363
|
+
if (\u8BF7\u6C42\u65B9\u6CD5 == "get")
|
|
364
|
+
return next();
|
|
365
|
+
await log.debug("\u5C1D\u8BD5\u67E5\u627E\u9759\u6001\u8D44\u6E90...");
|
|
366
|
+
return import_express3.default.static(\u9759\u6001\u8D44\u6E90\u8DEF\u5F84)(req, res, next);
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
app.use(async (req, res) => {
|
|
370
|
+
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90...");
|
|
371
|
+
res.status(404);
|
|
372
|
+
});
|
|
361
373
|
var server = null;
|
|
362
374
|
await new Promise((res, _rej) => {
|
|
363
375
|
server = app.listen(this.\u7AEF\u53E3, () => res());
|
|
@@ -24,13 +24,12 @@ __export(interface_type_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(interface_type_exports);
|
|
26
26
|
var \u63A5\u53E3\u7C7B\u578B = class {
|
|
27
|
-
constructor(\u8DEF\u5F84, \u65B9\u6CD5, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C, \u9519\u8BEF\u7ED3\u679C
|
|
27
|
+
constructor(\u8DEF\u5F84, \u65B9\u6CD5, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C, \u9519\u8BEF\u7ED3\u679C) {
|
|
28
28
|
this.\u8DEF\u5F84 = \u8DEF\u5F84;
|
|
29
29
|
this.\u65B9\u6CD5 = \u65B9\u6CD5;
|
|
30
30
|
this.\u63D2\u4EF6\u4EEC = \u63D2\u4EF6\u4EEC;
|
|
31
31
|
this.\u6B63\u786E\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C;
|
|
32
32
|
this.\u9519\u8BEF\u7ED3\u679C = \u9519\u8BEF\u7ED3\u679C;
|
|
33
|
-
this.\u4F18\u5148\u7EA7 = \u4F18\u5148\u7EA7;
|
|
34
33
|
}
|
|
35
34
|
\u83B7\u5F97\u8DEF\u5F84() {
|
|
36
35
|
return this.\u8DEF\u5F84;
|
|
@@ -47,9 +46,6 @@ var \u63A5\u53E3\u7C7B\u578B = class {
|
|
|
47
46
|
\u83B7\u5F97\u9519\u8BEF\u7ED3\u679C\u7C7B\u578B() {
|
|
48
47
|
return this.\u9519\u8BEF\u7ED3\u679C;
|
|
49
48
|
}
|
|
50
|
-
\u83B7\u5F97\u4F18\u5148\u7EA7() {
|
|
51
|
-
return this.\u4F18\u5148\u7EA7;
|
|
52
|
-
}
|
|
53
49
|
};
|
|
54
50
|
// Annotate the CommonJS export names for ESM import in node:
|
|
55
51
|
0 && (module.exports = {
|
|
@@ -9,15 +9,13 @@ declare class 接口类型<路径 extends string, 方法 extends 'get' | 'post',
|
|
|
9
9
|
private 插件们;
|
|
10
10
|
private 正确结果;
|
|
11
11
|
private 错误结果;
|
|
12
|
-
private 优先级;
|
|
13
12
|
protected readonly __类型保持符号?: [路径, 方法, 插件们, 正确结果类型, 错误结果类型];
|
|
14
|
-
constructor(路径: 路径, 方法: 方法, 插件们: [...插件们], 正确结果: 正确结果类型, 错误结果:
|
|
15
|
-
获得路径():
|
|
13
|
+
constructor(路径: 路径, 方法: 方法, 插件们: [...插件们], 正确结果: 正确结果类型, 错误结果: 错误结果类型);
|
|
14
|
+
获得路径(): 路径;
|
|
16
15
|
获得方法(): 方法;
|
|
17
16
|
获得插件们(): [...插件们];
|
|
18
17
|
获得正确结果类型(): 正确结果类型;
|
|
19
18
|
获得错误结果类型(): 错误结果类型;
|
|
20
|
-
获得优先级(): number;
|
|
21
19
|
}
|
|
22
20
|
type 任意接口类型 = 接口类型<any, any, any, any, any>;
|
|
23
21
|
type 获得接口插件们<接口类型描述> = 接口类型描述 extends 接口类型<any, any, infer 插件, any, any> ? 插件 : never;
|
|
@@ -130,33 +130,35 @@ var GlobalLog = class _GlobalLog {
|
|
|
130
130
|
|
|
131
131
|
// src/server/server.ts
|
|
132
132
|
var \u670D\u52A1\u5668 = class {
|
|
133
|
-
constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3) {
|
|
133
|
+
constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
134
134
|
this.\u63A5\u53E3\u4EEC = \u63A5\u53E3\u4EEC;
|
|
135
135
|
this.\u7AEF\u53E3 = \u7AEF\u53E3;
|
|
136
|
+
this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = \u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
136
137
|
}
|
|
137
138
|
log = GlobalLog.getInstance();
|
|
138
139
|
async run() {
|
|
139
140
|
var log = (await this.log).extend("\u670D\u52A1\u5668");
|
|
140
141
|
const app = (0, import_express.default)();
|
|
141
|
-
app.use(async (req,
|
|
142
|
+
app.use(async (req, _res, next) => {
|
|
143
|
+
const \u8BF7\u6C42\u8DEF\u5F84 = req.path;
|
|
144
|
+
const \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
145
|
+
await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
146
|
+
next();
|
|
147
|
+
});
|
|
148
|
+
app.use(async (req, res, next) => {
|
|
142
149
|
try {
|
|
150
|
+
await log.debug("\u5C1D\u8BD5\u5339\u914D\u63A5\u53E3...");
|
|
143
151
|
const \u8BF7\u6C42\u8DEF\u5F84 = req.path;
|
|
144
152
|
const \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
145
|
-
|
|
146
|
-
const \u76EE\u6807\u63A5\u53E3\u4EEC = this.\u63A5\u53E3\u4EEC.filter((\u63A5\u53E3) => {
|
|
153
|
+
const \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E3) => {
|
|
147
154
|
const \u63A5\u53E3\u7C7B\u578B2 = \u63A5\u53E3.\u83B7\u5F97\u7C7B\u578B();
|
|
148
|
-
return \u8BF7\u6C42\
|
|
155
|
+
return \u8BF7\u6C42\u8DEF\u5F84 == \u63A5\u53E3\u7C7B\u578B2.\u83B7\u5F97\u8DEF\u5F84() && \u8BF7\u6C42\u65B9\u6CD5 == \u63A5\u53E3\u7C7B\u578B2.\u83B7\u5F97\u65B9\u6CD5();
|
|
149
156
|
});
|
|
150
|
-
await log.debug(
|
|
151
|
-
"\u627E\u5230 %o \u4E2A\u5339\u914D\u7684\u63A5\u53E3: %o",
|
|
152
|
-
\u76EE\u6807\u63A5\u53E3\u4EEC.length,
|
|
153
|
-
\u76EE\u6807\u63A5\u53E3\u4EEC.map((a) => a.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u8DEF\u5F84())
|
|
154
|
-
);
|
|
155
|
-
var \u76EE\u6807\u63A5\u53E3 = \u76EE\u6807\u63A5\u53E3\u4EEC.sort((a, b) => a.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u4F18\u5148\u7EA7() - b.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u4F18\u5148\u7EA7())[0];
|
|
156
157
|
if (\u76EE\u6807\u63A5\u53E3 == void 0) {
|
|
157
|
-
|
|
158
|
+
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u63A5\u53E3");
|
|
159
|
+
next();
|
|
160
|
+
return;
|
|
158
161
|
}
|
|
159
|
-
await log.debug("\u9009\u62E9\u63A5\u53E3: %o", \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u8DEF\u5F84());
|
|
160
162
|
const \u63A5\u53E3\u7C7B\u578B = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7C7B\u578B();
|
|
161
163
|
const \u63A5\u53E3\u63D2\u4EF6 = \u63A5\u53E3\u7C7B\u578B.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
162
164
|
await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63A5\u53E3\u63D2\u4EF6.length);
|
|
@@ -172,9 +174,23 @@ var \u670D\u52A1\u5668 = class {
|
|
|
172
174
|
} catch (e) {
|
|
173
175
|
await log.err(e);
|
|
174
176
|
res.status(500);
|
|
175
|
-
res.send("\
|
|
177
|
+
res.send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
176
178
|
}
|
|
177
179
|
});
|
|
180
|
+
if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
181
|
+
var \u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
182
|
+
app.use(async (req, res, next) => {
|
|
183
|
+
const \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
184
|
+
if (\u8BF7\u6C42\u65B9\u6CD5 == "get")
|
|
185
|
+
return next();
|
|
186
|
+
await log.debug("\u5C1D\u8BD5\u67E5\u627E\u9759\u6001\u8D44\u6E90...");
|
|
187
|
+
return import_express.default.static(\u9759\u6001\u8D44\u6E90\u8DEF\u5F84)(req, res, next);
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
app.use(async (req, res) => {
|
|
191
|
+
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90...");
|
|
192
|
+
res.status(404);
|
|
193
|
+
});
|
|
178
194
|
var server = null;
|
|
179
195
|
await new Promise((res, _rej) => {
|
|
180
196
|
server = app.listen(this.\u7AEF\u53E3, () => res());
|
|
@@ -10,8 +10,9 @@ import '@lsby/ts-fp-data';
|
|
|
10
10
|
declare class 服务器 {
|
|
11
11
|
private 接口们;
|
|
12
12
|
private 端口;
|
|
13
|
+
private 静态资源路径?;
|
|
13
14
|
private log;
|
|
14
|
-
constructor(接口们: ____[], 端口: number);
|
|
15
|
+
constructor(接口们: ____[], 端口: number, 静态资源路径?: string | undefined);
|
|
15
16
|
run(): Promise<{
|
|
16
17
|
ip: string[];
|
|
17
18
|
server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
// src/interface/interface-type.ts
|
|
2
2
|
var \u63A5\u53E3\u7C7B\u578B = class {
|
|
3
|
-
constructor(\u8DEF\u5F84, \u65B9\u6CD5, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C, \u9519\u8BEF\u7ED3\u679C
|
|
3
|
+
constructor(\u8DEF\u5F84, \u65B9\u6CD5, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C, \u9519\u8BEF\u7ED3\u679C) {
|
|
4
4
|
this.\u8DEF\u5F84 = \u8DEF\u5F84;
|
|
5
5
|
this.\u65B9\u6CD5 = \u65B9\u6CD5;
|
|
6
6
|
this.\u63D2\u4EF6\u4EEC = \u63D2\u4EF6\u4EEC;
|
|
7
7
|
this.\u6B63\u786E\u7ED3\u679C = \u6B63\u786E\u7ED3\u679C;
|
|
8
8
|
this.\u9519\u8BEF\u7ED3\u679C = \u9519\u8BEF\u7ED3\u679C;
|
|
9
|
-
this.\u4F18\u5148\u7EA7 = \u4F18\u5148\u7EA7;
|
|
10
9
|
}
|
|
11
10
|
\u83B7\u5F97\u8DEF\u5F84() {
|
|
12
11
|
return this.\u8DEF\u5F84;
|
|
@@ -23,9 +22,6 @@ var \u63A5\u53E3\u7C7B\u578B = class {
|
|
|
23
22
|
\u83B7\u5F97\u9519\u8BEF\u7ED3\u679C\u7C7B\u578B() {
|
|
24
23
|
return this.\u9519\u8BEF\u7ED3\u679C;
|
|
25
24
|
}
|
|
26
|
-
\u83B7\u5F97\u4F18\u5148\u7EA7() {
|
|
27
|
-
return this.\u4F18\u5148\u7EA7;
|
|
28
|
-
}
|
|
29
25
|
};
|
|
30
26
|
|
|
31
27
|
export {
|
|
@@ -6,33 +6,35 @@ import {
|
|
|
6
6
|
import { networkInterfaces } from "node:os";
|
|
7
7
|
import express from "express";
|
|
8
8
|
var \u670D\u52A1\u5668 = class {
|
|
9
|
-
constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3) {
|
|
9
|
+
constructor(\u63A5\u53E3\u4EEC, \u7AEF\u53E3, \u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
10
10
|
this.\u63A5\u53E3\u4EEC = \u63A5\u53E3\u4EEC;
|
|
11
11
|
this.\u7AEF\u53E3 = \u7AEF\u53E3;
|
|
12
|
+
this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = \u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
12
13
|
}
|
|
13
14
|
log = GlobalLog.getInstance();
|
|
14
15
|
async run() {
|
|
15
16
|
var log = (await this.log).extend("\u670D\u52A1\u5668");
|
|
16
17
|
const app = express();
|
|
17
|
-
app.use(async (req,
|
|
18
|
+
app.use(async (req, _res, next) => {
|
|
19
|
+
const \u8BF7\u6C42\u8DEF\u5F84 = req.path;
|
|
20
|
+
const \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
21
|
+
await log.debug("\u6536\u5230\u8BF7\u6C42, \u8DEF\u5F84: %o, \u65B9\u6CD5: %o", \u8BF7\u6C42\u8DEF\u5F84, \u8BF7\u6C42\u65B9\u6CD5);
|
|
22
|
+
next();
|
|
23
|
+
});
|
|
24
|
+
app.use(async (req, res, next) => {
|
|
18
25
|
try {
|
|
26
|
+
await log.debug("\u5C1D\u8BD5\u5339\u914D\u63A5\u53E3...");
|
|
19
27
|
const \u8BF7\u6C42\u8DEF\u5F84 = req.path;
|
|
20
28
|
const \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
21
|
-
|
|
22
|
-
const \u76EE\u6807\u63A5\u53E3\u4EEC = this.\u63A5\u53E3\u4EEC.filter((\u63A5\u53E3) => {
|
|
29
|
+
const \u76EE\u6807\u63A5\u53E3 = this.\u63A5\u53E3\u4EEC.find((\u63A5\u53E3) => {
|
|
23
30
|
const \u63A5\u53E3\u7C7B\u578B2 = \u63A5\u53E3.\u83B7\u5F97\u7C7B\u578B();
|
|
24
|
-
return \u8BF7\u6C42\
|
|
31
|
+
return \u8BF7\u6C42\u8DEF\u5F84 == \u63A5\u53E3\u7C7B\u578B2.\u83B7\u5F97\u8DEF\u5F84() && \u8BF7\u6C42\u65B9\u6CD5 == \u63A5\u53E3\u7C7B\u578B2.\u83B7\u5F97\u65B9\u6CD5();
|
|
25
32
|
});
|
|
26
|
-
await log.debug(
|
|
27
|
-
"\u627E\u5230 %o \u4E2A\u5339\u914D\u7684\u63A5\u53E3: %o",
|
|
28
|
-
\u76EE\u6807\u63A5\u53E3\u4EEC.length,
|
|
29
|
-
\u76EE\u6807\u63A5\u53E3\u4EEC.map((a) => a.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u8DEF\u5F84())
|
|
30
|
-
);
|
|
31
|
-
var \u76EE\u6807\u63A5\u53E3 = \u76EE\u6807\u63A5\u53E3\u4EEC.sort((a, b) => a.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u4F18\u5148\u7EA7() - b.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u4F18\u5148\u7EA7())[0];
|
|
32
33
|
if (\u76EE\u6807\u63A5\u53E3 == void 0) {
|
|
33
|
-
|
|
34
|
+
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u63A5\u53E3");
|
|
35
|
+
next();
|
|
36
|
+
return;
|
|
34
37
|
}
|
|
35
|
-
await log.debug("\u9009\u62E9\u63A5\u53E3: %o", \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7C7B\u578B().\u83B7\u5F97\u8DEF\u5F84());
|
|
36
38
|
const \u63A5\u53E3\u7C7B\u578B = \u76EE\u6807\u63A5\u53E3.\u83B7\u5F97\u7C7B\u578B();
|
|
37
39
|
const \u63A5\u53E3\u63D2\u4EF6 = \u63A5\u53E3\u7C7B\u578B.\u83B7\u5F97\u63D2\u4EF6\u4EEC();
|
|
38
40
|
await log.debug("\u627E\u5230 %o \u4E2A \u63D2\u4EF6, \u51C6\u5907\u6267\u884C...", \u63A5\u53E3\u63D2\u4EF6.length);
|
|
@@ -48,9 +50,23 @@ var \u670D\u52A1\u5668 = class {
|
|
|
48
50
|
} catch (e) {
|
|
49
51
|
await log.err(e);
|
|
50
52
|
res.status(500);
|
|
51
|
-
res.send("\
|
|
53
|
+
res.send("\u670D\u52A1\u5668\u5185\u90E8\u9519\u8BEF");
|
|
52
54
|
}
|
|
53
55
|
});
|
|
56
|
+
if (this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84) {
|
|
57
|
+
var \u9759\u6001\u8D44\u6E90\u8DEF\u5F84 = this.\u9759\u6001\u8D44\u6E90\u8DEF\u5F84;
|
|
58
|
+
app.use(async (req, res, next) => {
|
|
59
|
+
const \u8BF7\u6C42\u65B9\u6CD5 = req.method.toLowerCase();
|
|
60
|
+
if (\u8BF7\u6C42\u65B9\u6CD5 == "get")
|
|
61
|
+
return next();
|
|
62
|
+
await log.debug("\u5C1D\u8BD5\u67E5\u627E\u9759\u6001\u8D44\u6E90...");
|
|
63
|
+
return express.static(\u9759\u6001\u8D44\u6E90\u8DEF\u5F84)(req, res, next);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
app.use(async (req, res) => {
|
|
67
|
+
await log.debug("\u6CA1\u6709\u547D\u4E2D\u4EFB\u4F55\u8D44\u6E90...");
|
|
68
|
+
res.status(404);
|
|
69
|
+
});
|
|
54
70
|
var server = null;
|
|
55
71
|
await new Promise((res, _rej) => {
|
|
56
72
|
server = app.listen(this.\u7AEF\u53E3, () => res());
|
package/dist/esm/index.js
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
JSON解析插件
|
|
3
|
-
} from "./chunk-B62YPABM.js";
|
|
4
1
|
import {
|
|
5
2
|
表单解析插件
|
|
6
3
|
} from "./chunk-5UUMGDDD.js";
|
|
4
|
+
import {
|
|
5
|
+
正确JSON结果,
|
|
6
|
+
正确结果,
|
|
7
|
+
正确自定义结果,
|
|
8
|
+
结果,
|
|
9
|
+
错误JSON结果,
|
|
10
|
+
错误结果
|
|
11
|
+
} from "./chunk-HARBKRRI.js";
|
|
7
12
|
import {
|
|
8
13
|
测试
|
|
9
14
|
} from "./chunk-I4WZG5LK.js";
|
|
10
15
|
import {
|
|
11
16
|
服务器
|
|
12
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-ZOC74W7T.js";
|
|
13
18
|
import {
|
|
14
19
|
接口类型
|
|
15
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-SF5Z34AP.js";
|
|
16
21
|
import {
|
|
17
22
|
接口
|
|
18
23
|
} from "./chunk-KRIDSMPV.js";
|
|
19
|
-
import {
|
|
20
|
-
正确JSON结果,
|
|
21
|
-
正确结果,
|
|
22
|
-
正确自定义结果,
|
|
23
|
-
结果,
|
|
24
|
-
错误JSON结果,
|
|
25
|
-
错误结果
|
|
26
|
-
} from "./chunk-HARBKRRI.js";
|
|
27
|
-
import "./chunk-ZSY7VBEW.js";
|
|
28
|
-
import "./chunk-LVYVPQ5V.js";
|
|
29
|
-
import "./chunk-BZOQHDXK.js";
|
|
30
24
|
import {
|
|
31
25
|
中文路径支持插件
|
|
32
26
|
} from "./chunk-XG4VZZOX.js";
|
|
33
27
|
import {
|
|
34
28
|
自定义数据插件
|
|
35
29
|
} from "./chunk-P6PGPAMW.js";
|
|
30
|
+
import {
|
|
31
|
+
JSON解析插件
|
|
32
|
+
} from "./chunk-B62YPABM.js";
|
|
33
|
+
import "./chunk-ZSY7VBEW.js";
|
|
34
|
+
import "./chunk-LVYVPQ5V.js";
|
|
35
|
+
import "./chunk-BZOQHDXK.js";
|
|
36
36
|
import {
|
|
37
37
|
插件
|
|
38
38
|
} from "./chunk-KSZE2DTR.js";
|
|
@@ -9,15 +9,13 @@ declare class 接口类型<路径 extends string, 方法 extends 'get' | 'post',
|
|
|
9
9
|
private 插件们;
|
|
10
10
|
private 正确结果;
|
|
11
11
|
private 错误结果;
|
|
12
|
-
private 优先级;
|
|
13
12
|
protected readonly __类型保持符号?: [路径, 方法, 插件们, 正确结果类型, 错误结果类型];
|
|
14
|
-
constructor(路径: 路径, 方法: 方法, 插件们: [...插件们], 正确结果: 正确结果类型, 错误结果:
|
|
15
|
-
获得路径():
|
|
13
|
+
constructor(路径: 路径, 方法: 方法, 插件们: [...插件们], 正确结果: 正确结果类型, 错误结果: 错误结果类型);
|
|
14
|
+
获得路径(): 路径;
|
|
16
15
|
获得方法(): 方法;
|
|
17
16
|
获得插件们(): [...插件们];
|
|
18
17
|
获得正确结果类型(): 正确结果类型;
|
|
19
18
|
获得错误结果类型(): 错误结果类型;
|
|
20
|
-
获得优先级(): number;
|
|
21
19
|
}
|
|
22
20
|
type 任意接口类型 = 接口类型<any, any, any, any, any>;
|
|
23
21
|
type 获得接口插件们<接口类型描述> = 接口类型描述 extends 接口类型<any, any, infer 插件, any, any> ? 插件 : never;
|
|
@@ -10,8 +10,9 @@ import '@lsby/ts-fp-data';
|
|
|
10
10
|
declare class 服务器 {
|
|
11
11
|
private 接口们;
|
|
12
12
|
private 端口;
|
|
13
|
+
private 静态资源路径?;
|
|
13
14
|
private log;
|
|
14
|
-
constructor(接口们: ____[], 端口: number);
|
|
15
|
+
constructor(接口们: ____[], 端口: number, 静态资源路径?: string | undefined);
|
|
15
16
|
run(): Promise<{
|
|
16
17
|
ip: string[];
|
|
17
18
|
server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
|