exodus-framework 2.1.1029 → 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,3 +1,4 @@
1
1
  export { default as SocketEventHandler } from './eventhandler';
2
2
  export { default as SocketClientHandler } from './clienthandler';
3
+ export { default as SSEHandler } from './ssehandler';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/classes/socket/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/classes/socket/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "SSEHandler", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ssehandler.default;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "SocketClientHandler", {
7
13
  enumerable: true,
8
14
  get: function () {
@@ -17,4 +23,5 @@ Object.defineProperty(exports, "SocketEventHandler", {
17
23
  });
18
24
  var _eventhandler = _interopRequireDefault(require("./eventhandler"));
19
25
  var _clienthandler = _interopRequireDefault(require("./clienthandler"));
26
+ var _ssehandler = _interopRequireDefault(require("./ssehandler"));
20
27
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,27 @@
1
+ import { Request, RequestHandler, Response } from 'express';
2
+ import { eExecutionSide } from '../../../contracts/core';
3
+ import System from '../system';
4
+ declare class SSEHandler extends System {
5
+ protected request: Request;
6
+ protected response: Response;
7
+ protected side: eExecutionSide;
8
+ protected active: boolean;
9
+ protected ticketInterval: number;
10
+ protected middlewares: RequestHandler[];
11
+ private tickInterval;
12
+ constructor(request: Request, response: Response);
13
+ onInit(): Promise<void> | void;
14
+ onConnect(request: Request, res: Response): Promise<void> | void;
15
+ onAfterConnect(): Promise<void> | void;
16
+ onDisconnect(): Promise<void> | void;
17
+ onAborted(): Promise<void> | void;
18
+ onTick(): Promise<void> | void;
19
+ getSide(): eExecutionSide;
20
+ getActive(): boolean;
21
+ protected getTicketInterval(): number;
22
+ getMiddlewares(): RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>[];
23
+ protected send(event: string, data: any): void;
24
+ static handle(request: Request, res: Response): Promise<void>;
25
+ }
26
+ export default SSEHandler;
27
+ //# sourceMappingURL=ssehandler.d.ts.map
@@ -0,0 +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;CAyB3D;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _core = require("../../../contracts/core");
8
+ var _system = _interopRequireDefault(require("../system"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ class SSEHandler extends _system.default {
11
+ side;
12
+ active;
13
+ ticketInterval;
14
+ middlewares;
15
+ tickInterval;
16
+ constructor(request, response) {
17
+ super();
18
+ this.request = request;
19
+ this.response = response;
20
+ }
21
+ onInit() {
22
+ this.side = _core.eExecutionSide.ANY;
23
+ this.active = true;
24
+ this.ticketInterval = 3000; // 3 segundos
25
+ }
26
+ onConnect(request, res) {
27
+ this.request = request;
28
+ this.response = res;
29
+ this.response.setHeader('Content-Type', 'text/event-stream');
30
+ this.response.setHeader('Cache-Control', 'no-cache');
31
+ this.response.setHeader('Connection', 'keep-alive');
32
+ this.response.setHeader('Access-Control-Allow-Origin', '*');
33
+ this.response.setHeader('Access-Control-Allow-Headers', 'Cache-Control');
34
+ }
35
+ onAfterConnect() {
36
+ this.tickInterval = setInterval(() => {
37
+ this.onTick();
38
+ }, this.ticketInterval);
39
+ }
40
+ onDisconnect() {
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
+ }
48
+ }
49
+ onAborted() {
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
+ }
57
+ }
58
+ onTick() {}
59
+
60
+ //# Getters
61
+ getSide() {
62
+ return this.side;
63
+ }
64
+ getActive() {
65
+ return this.active;
66
+ }
67
+ getTicketInterval() {
68
+ return this.ticketInterval;
69
+ }
70
+ getMiddlewares() {
71
+ return this.middlewares;
72
+ }
73
+ send(event, data) {
74
+ if (!this.response.headersSent) {
75
+ this.response.write(`event: ${event}\n`);
76
+ this.response.write(`data: ${JSON.stringify(data)}\n\n`);
77
+ }
78
+ }
79
+ static async handle(request, res) {
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
+ }
100
+ }
101
+ }
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.1029",
3
+ "version": "2.1.1031",
4
4
  "description": "Exodus Framework",
5
5
  "author": "jhownpaixao",
6
6
  "license": "ISC",