knight-server 1.0.27 → 1.1.0
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/module/websocket/WebSocketRouter.js +2 -2
- package/module/websocket/WebSocketRouter.js.map +1 -1
- package/package.json +1 -1
- package/utility/NetworkUtility.d.ts +16 -1
- package/utility/NetworkUtility.d.ts.map +1 -1
- package/utility/NetworkUtility.js +20 -6
- package/utility/NetworkUtility.js.map +1 -1
|
@@ -20,7 +20,7 @@ class WebSocketRouter extends base_1.AbstractRouter {
|
|
|
20
20
|
// 检测重复连接
|
|
21
21
|
const key = `${request.socket.remoteAddress}:${request.socket.remotePort}`;
|
|
22
22
|
if (this.clients.has(key)) {
|
|
23
|
-
websocket.close(utility_1.NetworkUtility.
|
|
23
|
+
websocket.close(utility_1.NetworkUtility.WebSocketCloseCode.CONFLICT, `重复连接,客户端${key}已存在`);
|
|
24
24
|
this.logError(`重复连接,客户端${key}已存在`);
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
@@ -29,7 +29,7 @@ class WebSocketRouter extends base_1.AbstractRouter {
|
|
|
29
29
|
const url = new URL(request.url || '', `ws://${host}`);
|
|
30
30
|
const result = await this.OnCheck(this.server, url);
|
|
31
31
|
if (null == result || !result.valid) {
|
|
32
|
-
websocket.close(utility_1.NetworkUtility.
|
|
32
|
+
websocket.close(utility_1.NetworkUtility.WebSocketCloseCode.AUTH_FAILED, result.error || "鉴权处理失败,参数有误!");
|
|
33
33
|
this.logError(result.error || `鉴权处理失败,参数有误!`);
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketRouter.js","sourceRoot":"","sources":["../../../src/module/websocket/WebSocketRouter.ts"],"names":[],"mappings":";;;AAEA,qCAAyD;AACzD,uDAAoD;AACpD,2CAA8D;AAG9D,wBAAwB;AACxB,MAAsB,eAAgB,SAAQ,qBAAc;IAOxD,WAAW;IACX,YAAmB,MAAc,EAAE,IAAY;QAE3C,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;QAClD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,WAAW;IACJ,KAAK,CAAC,SAAS,CAAC,SAAuB,EAAE,OAAwB;QAEpE,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACrD,SAAS;QACT,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EACzB,CAAC;YACG,SAAS,CAAC,KAAK,CAAC,wBAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"WebSocketRouter.js","sourceRoot":"","sources":["../../../src/module/websocket/WebSocketRouter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
|
+
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
1
2
|
/** 网络工具 */
|
|
2
3
|
export declare namespace NetworkUtility {
|
|
3
4
|
/** 获取公网 IP */
|
|
4
5
|
function getPublicIp(): Promise<string>;
|
|
5
6
|
/** 获取内网 IP */
|
|
6
7
|
function getLocalIp(): string;
|
|
8
|
+
/** HTTP网络协议 */
|
|
9
|
+
namespace HTTP {
|
|
10
|
+
/** 请求配置 */
|
|
11
|
+
type Request = AxiosRequestConfig;
|
|
12
|
+
/** 响应配置 */
|
|
13
|
+
type Response<T = any, D = any, H = {}> = AxiosResponse<T, D, H>;
|
|
14
|
+
/**
|
|
15
|
+
* 网络请求
|
|
16
|
+
* @param url 请求地址
|
|
17
|
+
* @param options 请求配置(axios原生类型)
|
|
18
|
+
* @returns 响应数据
|
|
19
|
+
*/
|
|
20
|
+
function OnRequest<T = any>(url: string, options?: Request): Promise<Response<T>>;
|
|
21
|
+
}
|
|
7
22
|
/** 协议类型 */
|
|
8
23
|
enum E_ProtocalType {
|
|
9
24
|
Get = "get",
|
|
@@ -16,7 +31,7 @@ export declare namespace NetworkUtility {
|
|
|
16
31
|
Trace = "trace"
|
|
17
32
|
}
|
|
18
33
|
/** WebSocket 关闭码(1000-4999 有效,4000+ 为应用自定义) */
|
|
19
|
-
enum
|
|
34
|
+
enum WebSocketCloseCode {
|
|
20
35
|
/** 重复连接 */
|
|
21
36
|
CONFLICT = 4000,
|
|
22
37
|
/** 鉴权失败 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkUtility.d.ts","sourceRoot":"","sources":["../../src/utility/NetworkUtility.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NetworkUtility.d.ts","sourceRoot":"","sources":["../../src/utility/NetworkUtility.ts"],"names":[],"mappings":"AACA,OAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEjE,WAAW;AACX,yBAAiB,cAAc,CAC/B;IAaI,cAAc;IACd,SAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAkBnD;IACD,cAAc;IACd,SAAgB,UAAU,IAAI,MAAM,CAcnC;IAED,eAAe;IACf,UAAiB,IAAI,CACrB;QACI,WAAW;QACX,KAAY,OAAO,GAAG,kBAAkB,CAAC;QACzC,WAAW;QACX,KAAY,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAExE;;;;;WAKG;QACH,SAAsB,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAG7F;KACJ;IAGD,WAAW;IACX,KAAY,cAAc;QAEtB,GAAG,QAAQ;QACX,IAAI,SAAS;QACb,GAAG,QAAQ;QACX,MAAM,WAAW;QACjB,OAAO,YAAY;QACnB,IAAI,SAAS;QACb,KAAK,UAAU;QACf,KAAK,UAAU;KAClB;IACD,+CAA+C;IAC/C,KAAY,kBAAkB;QAE1B,WAAW;QACX,QAAQ,OAAO;QACf,WAAW;QACX,WAAW,OAAO;QAClB,WAAW;QACX,WAAW,OAAO;KACrB;IACD,UAAU;IACV,KAAY,YAAY;QAGpB,WAAW;QACX,OAAO,MAAM;QACb,WAAW;QACX,OAAO,MAAM;QACb,kBAAkB;QAClB,QAAQ,MAAM;QACd,iBAAiB;QACjB,UAAU,MAAM;QAGhB,aAAa;QACb,WAAW,MAAM;QACjB,eAAe;QACf,YAAY,MAAM;QAClB,YAAY;QACZ,SAAS,MAAM;QACf,YAAY;QACZ,SAAS,MAAM;QACf,cAAc;QACd,kBAAkB,MAAM;QACxB,WAAW;QACX,eAAe,MAAM;QACrB,kBAAkB;QAClB,QAAQ,MAAM;QACd,YAAY;QACZ,iBAAiB,MAAM;QACvB,eAAe;QACf,sBAAsB,MAAM;QAC5B,cAAc;QACd,+BAA+B,MAAM;QACrC,aAAa;QACb,iBAAiB,MAAM;QAGvB,cAAc;QACd,qBAAqB,MAAM;QAC3B,YAAY;QACZ,eAAe,MAAM;QACrB,WAAW;QACX,WAAW,MAAM;QACjB,YAAY;QACZ,mBAAmB,MAAM;QACzB,WAAW;QACX,eAAe,MAAM;QAGrB,aAAa;QACb,cAAc,OAAO;QACrB,YAAY;QACZ,aAAa,OAAO;QACpB,YAAY;QACZ,gBAAgB,OAAO;QACvB,YAAY;QACZ,aAAa,OAAO;QACpB,aAAa;QACb,sBAAsB,OAAO;QAC7B,YAAY;QACZ,eAAe,OAAO;QACtB,aAAa;QACb,aAAa,OAAO;QACpB,aAAa;QACb,kBAAkB,OAAO;QACzB,cAAc;QACd,qBAAqB,OAAO;KAC/B;CACJ"}
|
|
@@ -52,6 +52,20 @@ var NetworkUtility;
|
|
|
52
52
|
return '127.0.0.1';
|
|
53
53
|
}
|
|
54
54
|
NetworkUtility.getLocalIp = getLocalIp;
|
|
55
|
+
/** HTTP网络协议 */
|
|
56
|
+
let HTTP;
|
|
57
|
+
(function (HTTP) {
|
|
58
|
+
/**
|
|
59
|
+
* 网络请求
|
|
60
|
+
* @param url 请求地址
|
|
61
|
+
* @param options 请求配置(axios原生类型)
|
|
62
|
+
* @returns 响应数据
|
|
63
|
+
*/
|
|
64
|
+
async function OnRequest(url, options) {
|
|
65
|
+
return (0, axios_1.default)({ url, method: 'get', timeout: 10000, ...options });
|
|
66
|
+
}
|
|
67
|
+
HTTP.OnRequest = OnRequest;
|
|
68
|
+
})(HTTP = NetworkUtility.HTTP || (NetworkUtility.HTTP = {}));
|
|
55
69
|
/** 协议类型 */
|
|
56
70
|
let E_ProtocalType;
|
|
57
71
|
(function (E_ProtocalType) {
|
|
@@ -65,15 +79,15 @@ var NetworkUtility;
|
|
|
65
79
|
E_ProtocalType["Trace"] = "trace";
|
|
66
80
|
})(E_ProtocalType = NetworkUtility.E_ProtocalType || (NetworkUtility.E_ProtocalType = {}));
|
|
67
81
|
/** WebSocket 关闭码(1000-4999 有效,4000+ 为应用自定义) */
|
|
68
|
-
let
|
|
69
|
-
(function (
|
|
82
|
+
let WebSocketCloseCode;
|
|
83
|
+
(function (WebSocketCloseCode) {
|
|
70
84
|
/** 重复连接 */
|
|
71
|
-
|
|
85
|
+
WebSocketCloseCode[WebSocketCloseCode["CONFLICT"] = 4000] = "CONFLICT";
|
|
72
86
|
/** 鉴权失败 */
|
|
73
|
-
|
|
87
|
+
WebSocketCloseCode[WebSocketCloseCode["AUTH_FAILED"] = 4001] = "AUTH_FAILED";
|
|
74
88
|
/** 参数错误 */
|
|
75
|
-
|
|
76
|
-
})(
|
|
89
|
+
WebSocketCloseCode[WebSocketCloseCode["BAD_REQUEST"] = 4002] = "BAD_REQUEST";
|
|
90
|
+
})(WebSocketCloseCode = NetworkUtility.WebSocketCloseCode || (NetworkUtility.WebSocketCloseCode = {}));
|
|
77
91
|
/** 响应码 */
|
|
78
92
|
let ResponseCode;
|
|
79
93
|
(function (ResponseCode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkUtility.js","sourceRoot":"","sources":["../../src/utility/NetworkUtility.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,
|
|
1
|
+
{"version":3,"file":"NetworkUtility.js","sourceRoot":"","sources":["../../src/utility/NetworkUtility.ts"],"names":[],"mappings":"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"}
|