exodus-framework 2.1.1033 → 2.1.1035

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,4 +1,4 @@
1
- import { Request, RequestHandler, Response } from 'express';
1
+ import { Request, Response } from 'express';
2
2
  import { eExecutionSide } from '../../../contracts/core';
3
3
  import System from '../system';
4
4
  declare class SSEHandler extends System {
@@ -7,11 +7,10 @@ declare class SSEHandler extends System {
7
7
  protected side: eExecutionSide;
8
8
  protected active: boolean;
9
9
  protected ticketInterval: number;
10
- protected middlewares: RequestHandler[];
11
10
  private tickInterval;
12
11
  constructor(request: Request, response: Response);
13
12
  onInit(): Promise<void> | void;
14
- onConnect(request: Request, res: Response): Promise<void> | void;
13
+ onConnect(): Promise<void> | void;
15
14
  onAfterConnect(): Promise<void> | void;
16
15
  onDisconnect(): Promise<void> | void;
17
16
  onAborted(): Promise<void> | void;
@@ -19,9 +18,8 @@ declare class SSEHandler extends System {
19
18
  getSide(): eExecutionSide;
20
19
  getActive(): boolean;
21
20
  protected getTicketInterval(): number;
22
- getMiddlewares(): RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>[];
23
21
  protected send(event: string, data: any): void;
24
- static handle(request: Request, res: Response): Promise<() => Promise<void>>;
22
+ static handle(): Promise<(request: Request, res: Response) => Promise<void>>;
25
23
  }
26
24
  export default SSEHandler;
27
25
  //# sourceMappingURL=ssehandler.d.ts.map
@@ -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,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;CA2B3D;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,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,cAAM,UAAW,SAAQ,MAAM;IAO3B,SAAS,CAAC,OAAO,EAAE,OAAO;IAC1B,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAP9B,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,YAAY,CAAwB;gBAGhC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ;IAKvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAM9B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAiBjC,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;IAI3B,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;WAOnB,MAAM,sBACD,OAAO,OAAO,QAAQ;CAQhD;AAED,eAAe,UAAU,CAAC"}
@@ -11,7 +11,6 @@ class SSEHandler extends _system.default {
11
11
  side;
12
12
  active;
13
13
  ticketInterval;
14
- middlewares;
15
14
  tickInterval;
16
15
  constructor(request, response) {
17
16
  super();
@@ -23,14 +22,19 @@ class SSEHandler extends _system.default {
23
22
  this.active = true;
24
23
  this.ticketInterval = 3000;
25
24
  }
26
- onConnect(request, res) {
27
- this.request = request;
28
- this.response = res;
25
+ onConnect() {
29
26
  this.response.setHeader('Content-Type', 'text/event-stream');
30
27
  this.response.setHeader('Cache-Control', 'no-cache');
31
28
  this.response.setHeader('Connection', 'keep-alive');
32
29
  this.response.setHeader('Access-Control-Allow-Origin', '*');
33
30
  this.response.setHeader('Access-Control-Allow-Headers', 'Cache-Control');
31
+ this.response.flushHeaders();
32
+ this.response.on('close', () => {
33
+ this.onDisconnect();
34
+ });
35
+ this.response.on('error', () => {
36
+ this.onAborted();
37
+ });
34
38
  }
35
39
  onAfterConnect() {
36
40
  this.tickInterval = setInterval(() => {
@@ -42,7 +46,7 @@ class SSEHandler extends _system.default {
42
46
  clearInterval(this.tickInterval);
43
47
  this.tickInterval = null;
44
48
  }
45
- if (!this.response.headersSent && !this.response.destroyed) {
49
+ if (!this.response.destroyed) {
46
50
  this.response.end();
47
51
  }
48
52
  }
@@ -51,7 +55,7 @@ class SSEHandler extends _system.default {
51
55
  clearInterval(this.tickInterval);
52
56
  this.tickInterval = null;
53
57
  }
54
- if (!this.response.headersSent && !this.response.destroyed) {
58
+ if (!this.response.destroyed) {
55
59
  this.response.end();
56
60
  }
57
61
  }
@@ -65,34 +69,18 @@ class SSEHandler extends _system.default {
65
69
  getTicketInterval() {
66
70
  return this.ticketInterval;
67
71
  }
68
- getMiddlewares() {
69
- return this.middlewares;
70
- }
71
72
  send(event, data) {
72
- if (!this.response.headersSent) {
73
+ if (!this.response.destroyed) {
73
74
  this.response.write(`event: ${event}\n`);
74
75
  this.response.write(`data: ${JSON.stringify(data)}\n\n`);
75
76
  }
76
77
  }
77
- static async handle(request, res) {
78
- return async () => {
78
+ static async handle() {
79
+ return async (request, res) => {
79
80
  const handler = new this(request, res);
80
- try {
81
- await handler.onInit();
82
- await handler.onConnect(request, res);
83
- request.on('close', () => {
84
- handler.onDisconnect();
85
- });
86
- request.on('aborted', () => {
87
- handler.onAborted();
88
- });
89
- await handler.onAfterConnect();
90
- } catch (error) {
91
- console.error('Erro ao inicializar SSE Handler:', error);
92
- if (!res.headersSent) {
93
- res.status(500).end();
94
- }
95
- }
81
+ await handler.onInit();
82
+ await handler.onConnect();
83
+ await handler.onAfterConnect();
96
84
  };
97
85
  }
98
86
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exodus-framework",
3
- "version": "2.1.1033",
3
+ "version": "2.1.1035",
4
4
  "description": "Exodus Framework",
5
5
  "author": "jhownpaixao",
6
6
  "license": "ISC",