kb-server 0.0.1-beta.33 → 0.0.1-beta.34

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.
@@ -69,10 +69,29 @@ const packSSE = (sseHandlers, options) => {
69
69
  "Cache-Control": "no-cache",
70
70
  Connection: "keep-alive",
71
71
  });
72
+ // 在调用 execution 前添加中断监听
73
+ let isClientConnected = true;
74
+ // 监听客户端断开事件
75
+ req.on("close", () => {
76
+ isClientConnected = false; // 标记连接已断开
77
+ logger_1.logger.log("info", `客户端已断开 - RequestId: ${requestId}`);
78
+ });
72
79
  const send = (event, message) => {
80
+ if (!isClientConnected) {
81
+ logger_1.logger.log("warning", "客户端已断开,停止发送");
82
+ return; // 终止发送逻辑
83
+ }
73
84
  const response = (0, exports.createSSEMessage)(event, message);
74
- res.write(response);
75
- logger_1.logger.log("info", `发送消息:\n${response}`);
85
+ try {
86
+ res.write(response);
87
+ logger_1.logger.log("info", `发送消息:\n${response}`);
88
+ }
89
+ catch (err) {
90
+ if (err.code === "EPIPE" || err.code === "ECONNRESET") {
91
+ logger_1.logger.log("error", "客户端连接已关闭");
92
+ isClientConnected = false;
93
+ }
94
+ }
76
95
  };
77
96
  await execution(params, ctx, { send });
78
97
  // 完成响应
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kb-server",
3
- "version": "0.0.1-beta.33",
3
+ "version": "0.0.1-beta.34",
4
4
  "description": "A fast server for Node.JS,made by express.",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {