exodus-framework 2.1.1030 → 2.1.1031

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ssehandler.d.ts","sourceRoot":"","sources":["../../../../src/app/classes/socket/ssehandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,cAAM,UAAW,SAAQ,MAAM;IAQ3B,SAAS,CAAC,OAAO,EAAE,OAAO;IAC1B,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAR9B,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;IACxC,OAAO,CAAC,YAAY,CAAiB;gBAGzB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ;IAKvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAM9B,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAWhE,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAMtC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAKpC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAKjC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAG9B,OAAO;IAGP,SAAS;IAGhB,SAAS,CAAC,iBAAiB;IAGpB,cAAc;IAIrB,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;WAKnB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ;CAM3D;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ssehandler.d.ts","sourceRoot":"","sources":["../../../../src/app/classes/socket/ssehandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,cAAM,UAAW,SAAQ,MAAM;IAQ3B,SAAS,CAAC,OAAO,EAAE,OAAO;IAC1B,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAR9B,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;IACxC,OAAO,CAAC,YAAY,CAAwB;gBAGhC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ;IAKvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAM9B,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAWhE,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAMtC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAUpC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAUjC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAG9B,OAAO;IAGP,SAAS;IAGhB,SAAS,CAAC,iBAAiB;IAGpB,cAAc;IAIrB,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;WAOnB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ;CAyB3D;AAED,eAAe,UAAU,CAAC"}
@@ -38,12 +38,22 @@ class SSEHandler extends _system.default {
38
38
  }, this.ticketInterval);
39
39
  }
40
40
  onDisconnect() {
41
- clearInterval(this.tickInterval);
42
- this.response.end();
41
+ if (this.tickInterval) {
42
+ clearInterval(this.tickInterval);
43
+ this.tickInterval = null;
44
+ }
45
+ if (!this.response.headersSent && !this.response.destroyed) {
46
+ this.response.end();
47
+ }
43
48
  }
44
49
  onAborted() {
45
- clearInterval(this.tickInterval);
46
- this.response.end();
50
+ if (this.tickInterval) {
51
+ clearInterval(this.tickInterval);
52
+ this.tickInterval = null;
53
+ }
54
+ if (!this.response.headersSent && !this.response.destroyed) {
55
+ this.response.end();
56
+ }
47
57
  }
48
58
  onTick() {}
49
59
 
@@ -61,14 +71,32 @@ class SSEHandler extends _system.default {
61
71
  return this.middlewares;
62
72
  }
63
73
  send(event, data) {
64
- this.response.write(`event: ${event}\n`);
65
- this.response.write(`data: ${JSON.stringify(data)}\n\n`);
74
+ if (!this.response.headersSent) {
75
+ this.response.write(`event: ${event}\n`);
76
+ this.response.write(`data: ${JSON.stringify(data)}\n\n`);
77
+ }
66
78
  }
67
79
  static async handle(request, res) {
68
- const handler = new this(request, res);
69
- await handler.onInit();
70
- await handler.onConnect(request, res);
71
- await handler.onAfterConnect();
80
+ const HandlerClass = this;
81
+ const handler = new HandlerClass(request, res);
82
+ try {
83
+ await handler.onInit();
84
+ await handler.onConnect(request, res);
85
+
86
+ // Configurar listeners para desconexão
87
+ request.on('close', () => {
88
+ handler.onDisconnect();
89
+ });
90
+ request.on('aborted', () => {
91
+ handler.onAborted();
92
+ });
93
+ await handler.onAfterConnect();
94
+ } catch (error) {
95
+ console.error('Erro ao inicializar SSE Handler:', error);
96
+ if (!res.headersSent) {
97
+ res.status(500).end();
98
+ }
99
+ }
72
100
  }
73
101
  }
74
102
  var _default = exports.default = SSEHandler;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exodus-framework",
3
- "version": "2.1.1030",
3
+ "version": "2.1.1031",
4
4
  "description": "Exodus Framework",
5
5
  "author": "jhownpaixao",
6
6
  "license": "ISC",