@maiyunnet/kebab 3.2.8 → 3.2.9
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/index.d.ts +1 -1
- package/index.js +1 -1
- package/lib/db.js +2 -3
- package/lib/kv.js +1 -1
- package/lib/socket.js +5 -4
- package/package.json +1 -1
- package/sys/ctr.d.ts +2 -2
- package/sys/ctr.js +4 -4
- package/sys/route.js +1 -1
- package/www/example/ctr/test.js +1 -1
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* --- 本文件用来定义每个目录实体地址的常量 ---
|
|
7
7
|
*/
|
|
8
8
|
/** --- 当前系统版本号 --- */
|
|
9
|
-
export const VER = '3.2.
|
|
9
|
+
export const VER = '3.2.9';
|
|
10
10
|
// --- 服务端用的路径 ---
|
|
11
11
|
const imu = decodeURIComponent(import.meta.url).replace('file://', '').replace(/^\/(\w:)/, '$1');
|
|
12
12
|
/** --- /xxx/xxx --- */
|
package/lib/db.js
CHANGED
|
@@ -9,7 +9,6 @@ import * as mysql2 from 'mysql2/promise';
|
|
|
9
9
|
import * as lTime from '#kebab/lib/time.js';
|
|
10
10
|
import * as lSql from '#kebab/lib/sql.js';
|
|
11
11
|
import * as lCore from '#kebab/lib/core.js';
|
|
12
|
-
import * as lText from '#kebab/lib/text.js';
|
|
13
12
|
import * as sCtr from '#kebab/sys/ctr.js';
|
|
14
13
|
/** --- 连接列表池 --- */
|
|
15
14
|
const connections = [];
|
|
@@ -170,7 +169,7 @@ export class Pool {
|
|
|
170
169
|
link.on('error', function (err) {
|
|
171
170
|
c.setLost();
|
|
172
171
|
if (err.code !== 'PROTOCOL_CONNECTION_LOST') {
|
|
173
|
-
lCore.debug('[DB][_getConnection][error]', err);
|
|
172
|
+
lCore.debug('[DB][_getConnection][error]', err.message);
|
|
174
173
|
}
|
|
175
174
|
}).on('end', () => {
|
|
176
175
|
// lCore.debug('[DB][_getConnection] connection end.');
|
|
@@ -182,7 +181,7 @@ export class Pool {
|
|
|
182
181
|
connections.push(conn);
|
|
183
182
|
}
|
|
184
183
|
catch (e) {
|
|
185
|
-
const msg = '[DB][_getConnection] ' +
|
|
184
|
+
const msg = '[DB][_getConnection] ' + e.message;
|
|
186
185
|
lCore.debug(msg);
|
|
187
186
|
lCore.log({}, msg, '-error');
|
|
188
187
|
}
|
package/lib/kv.js
CHANGED
|
@@ -618,7 +618,7 @@ export class Pool {
|
|
|
618
618
|
link.on('error', function (err) {
|
|
619
619
|
conn.setLost();
|
|
620
620
|
// console.log(`--- redis [${conn._etc.host}:${conn._etc.port}] error ---`);
|
|
621
|
-
lCore.debug('[KV][ERROR]', err);
|
|
621
|
+
lCore.debug('[KV][ERROR]', err.message);
|
|
622
622
|
}).on('end', () => {
|
|
623
623
|
conn.setLost();
|
|
624
624
|
}).on('close', () => {
|
package/lib/socket.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Last: 2025-9-25 16:49:48
|
|
5
5
|
*/
|
|
6
6
|
import net from 'net';
|
|
7
|
+
import * as lTime from '#kebab/lib/time.js';
|
|
7
8
|
import * as lWs from '#kebab/lib/ws.js';
|
|
8
9
|
import * as lCore from '#kebab/lib/core.js';
|
|
9
10
|
/**
|
|
@@ -17,7 +18,7 @@ export function rwebsocket(port, url, opt = {}) {
|
|
|
17
18
|
const server = net.createServer(socket => {
|
|
18
19
|
(async () => {
|
|
19
20
|
// --- 每次进一个新连接都反代到一个新 WebSocket ---
|
|
20
|
-
lCore.display('New client: ' + socket.remoteAddress + ':' + socket.remotePort);
|
|
21
|
+
lCore.display('[' + lTime.format(null, 'Y-m-d H:i:s') + '] New client: ' + socket.remoteAddress + ':' + socket.remotePort);
|
|
21
22
|
/** --- 远程端的双向 websocket --- */
|
|
22
23
|
const rws = await lWs.connect(url, opt);
|
|
23
24
|
if (!rws) {
|
|
@@ -52,13 +53,13 @@ export function rwebsocket(port, url, opt = {}) {
|
|
|
52
53
|
rws.writeBinary(data);
|
|
53
54
|
}).on('end', () => {
|
|
54
55
|
rws.end();
|
|
55
|
-
lCore.display('Client disconnected: ' + socket.remoteAddress + ':' + socket.remotePort);
|
|
56
|
+
lCore.display('[' + lTime.format(null, 'Y-m-d H:i:s') + '] Client disconnected: ' + socket.remoteAddress + ':' + socket.remotePort);
|
|
56
57
|
}).on('error', err => {
|
|
57
|
-
lCore.display('Client error: ' + socket.remoteAddress + ':' + socket.remotePort + ', ' + err.message);
|
|
58
|
+
lCore.display('[' + lTime.format(null, 'Y-m-d H:i:s') + '] Client error: ' + socket.remoteAddress + ':' + socket.remotePort + ', ' + err.message);
|
|
58
59
|
});
|
|
59
60
|
})().catch(() => { });
|
|
60
61
|
}).listen(port, () => {
|
|
61
|
-
lCore.display('Listening:' + port);
|
|
62
|
+
lCore.display('[' + lTime.format(null, 'Y-m-d H:i:s') + '] Listening: ' + port);
|
|
62
63
|
});
|
|
63
64
|
return server;
|
|
64
65
|
}
|
package/package.json
CHANGED
package/sys/ctr.d.ts
CHANGED
|
@@ -253,12 +253,12 @@ export declare class Ctr {
|
|
|
253
253
|
* --- 发送 socket ping ---
|
|
254
254
|
* @param data 要发送的信息
|
|
255
255
|
*/
|
|
256
|
-
protected _ping(): boolean;
|
|
256
|
+
protected _ping(data?: Buffer | string): boolean;
|
|
257
257
|
/**
|
|
258
258
|
* --- 发送 socket pong ---
|
|
259
259
|
* @param data 要发送的信息
|
|
260
260
|
*/
|
|
261
|
-
protected _pong(): boolean;
|
|
261
|
+
protected _pong(data?: Buffer | string): boolean;
|
|
262
262
|
/**
|
|
263
263
|
* --- 主动关闭当前 socket 连接 ---
|
|
264
264
|
*/
|
package/sys/ctr.js
CHANGED
|
@@ -725,15 +725,15 @@ export class Ctr {
|
|
|
725
725
|
* --- 发送 socket ping ---
|
|
726
726
|
* @param data 要发送的信息
|
|
727
727
|
*/
|
|
728
|
-
_ping() {
|
|
729
|
-
return this._socket.ping();
|
|
728
|
+
_ping(data) {
|
|
729
|
+
return this._socket.ping(data);
|
|
730
730
|
}
|
|
731
731
|
/**
|
|
732
732
|
* --- 发送 socket pong ---
|
|
733
733
|
* @param data 要发送的信息
|
|
734
734
|
*/
|
|
735
|
-
_pong() {
|
|
736
|
-
return this._socket.pong();
|
|
735
|
+
_pong(data) {
|
|
736
|
+
return this._socket.pong(data);
|
|
737
737
|
}
|
|
738
738
|
/**
|
|
739
739
|
* --- 主动关闭当前 socket 连接 ---
|
package/sys/route.js
CHANGED
|
@@ -235,7 +235,7 @@ export async function run(data) {
|
|
|
235
235
|
// --- 先处理 web socket 的情况 ---
|
|
236
236
|
let wsSocket;
|
|
237
237
|
try {
|
|
238
|
-
const options =
|
|
238
|
+
const options = cctr.onUpgrade();
|
|
239
239
|
// --- 默认无消息发送 3 分钟 ---
|
|
240
240
|
options.timeout ??= 60_000 * 3;
|
|
241
241
|
wsSocket = lWs.createServer(data.req, data.socket, options);
|
package/www/example/ctr/test.js
CHANGED
|
@@ -31,7 +31,7 @@ export default class extends sCtr.Ctr {
|
|
|
31
31
|
}
|
|
32
32
|
onLoad() {
|
|
33
33
|
if (this._config.const.hostname !== '127.0.0.1' && this._config.const.hostname !== '172.17.0.1' &&
|
|
34
|
-
this._config.const.hostname !== 'localhost' && this._config.const.hostname
|
|
34
|
+
this._config.const.hostname !== 'localhost' && !this._config.const.hostname.endsWith('.local.brc-app.com') &&
|
|
35
35
|
!this._config.const.hostname.startsWith('192.168.')) {
|
|
36
36
|
return [0, 'Please use 127.0.0.1 or local to access the file (' + this._config.const.host + ').'];
|
|
37
37
|
}
|