ismx-nexo-node-app 0.3.24 → 0.3.26

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.
@@ -31,6 +31,21 @@ class BusinessServer extends Business_1.default {
31
31
  setServices(services) {
32
32
  services.forEach(this.publish);
33
33
  }
34
+ setOnStarted(listener) {
35
+ this.onStarted = listener;
36
+ }
37
+ setOnRequest(listener) {
38
+ this.onRequest = listener;
39
+ }
40
+ setOnResponse(listener) {
41
+ this.onResponse = listener;
42
+ }
43
+ setOnError(listener) {
44
+ this.onError = listener;
45
+ }
46
+ setOnEnd(listener) {
47
+ this.onEnd = listener;
48
+ }
34
49
  publish(service) {
35
50
  switch (service.method) {
36
51
  case "GET":
@@ -55,7 +70,7 @@ class BusinessServer extends Business_1.default {
55
70
  }
56
71
  run(service) {
57
72
  return (request, socket) => __awaiter(this, void 0, void 0, function* () {
58
- var _a, _b, _c, _d, _e, _f, _g, _h;
73
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
59
74
  let code;
60
75
  let response = Service_1.HttpResponse.ko(500, "Internal server error");
61
76
  // Asigna un valor único a la llamada de la API.
@@ -70,24 +85,27 @@ class BusinessServer extends Business_1.default {
70
85
  }
71
86
  catch (e) { }
72
87
  response = yield ((_b = service.serve) === null || _b === void 0 ? void 0 : _b.call(service, request));
73
- response.httpCode = (_c = response.httpCode) !== null && _c !== void 0 ? _c : 200;
74
88
  try {
75
- response = ((_e = (_d = this.onResponse) === null || _d === void 0 ? void 0 : _d.call(this, request, response)) !== null && _e !== void 0 ? _e : response);
89
+ response = ((_d = (_c = this.onResponse) === null || _c === void 0 ? void 0 : _c.call(this, request, response)) !== null && _d !== void 0 ? _d : response);
76
90
  }
77
91
  catch (e) { }
92
+ response.httpCode = (_e = response.httpCode) !== null && _e !== void 0 ? _e : 200;
78
93
  }
79
94
  catch (error) {
80
- (_f = this.onError) === null || _f === void 0 ? void 0 : _f.call(this, request, error);
81
- let debug = error.message;
82
- if (!error.code)
83
- error = { code: "-1", description: "Internal server error", debug };
84
- let content = { code: error.code, description: error.description, debug };
85
- response = Service_1.HttpResponse.ko(error.httpCode, content);
95
+ try {
96
+ error = (_f = this.onError) === null || _f === void 0 ? void 0 : _f.call(this, request, error);
97
+ }
98
+ catch (e) { }
99
+ if (error instanceof Service_1.HttpResponse)
100
+ response = error;
101
+ else
102
+ response = Service_1.HttpResponse.ko((_g = error.httpCode) !== null && _g !== void 0 ? _g : 500, error.content);
86
103
  }
87
104
  finally {
88
- socket.status((_g = response === null || response === void 0 ? void 0 : response.httpCode) !== null && _g !== void 0 ? _g : 500).send(response === null || response === void 0 ? void 0 : response.content);
105
+ let status = (_h = response === null || response === void 0 ? void 0 : response.httpCode) !== null && _h !== void 0 ? _h : 500;
106
+ socket.status(status).send(response === null || response === void 0 ? void 0 : response.content);
89
107
  try {
90
- (_h = this.onEnd) === null || _h === void 0 ? void 0 : _h.call(this, request, response);
108
+ (_j = this.onEnd) === null || _j === void 0 ? void 0 : _j.call(this, request, response);
91
109
  }
92
110
  catch (e) { }
93
111
  }
@@ -2,14 +2,19 @@ import Service, { HttpRequest, HttpResponse } from "../api/Service";
2
2
  import Business from "./Business";
3
3
  export default class BusinessServer extends Business {
4
4
  private app;
5
- protected onStarted?: () => any;
6
- protected onRequest?: (request: HttpRequest) => any;
7
- protected onResponse?: (request: HttpRequest, response: HttpResponse) => HttpResponse<any> | undefined;
8
- protected onError?: (request: HttpRequest, error: Error) => HttpResponse<any> | undefined | void;
9
- protected onEnd?: (request: HttpRequest, response: HttpResponse) => any;
10
5
  constructor();
11
6
  start(port: number): void;
12
7
  setServices(services: Service<any, any>[]): void;
8
+ private onStarted?;
9
+ setOnStarted(listener: () => any): void;
10
+ private onRequest?;
11
+ setOnRequest(listener: (request: HttpRequest) => void): void;
12
+ private onResponse?;
13
+ setOnResponse(listener: (request: HttpRequest, response: HttpResponse) => HttpResponse | void): void;
14
+ private onError?;
15
+ setOnError(listener: (request: HttpRequest, error: Error) => HttpResponse): void;
16
+ private onEnd?;
17
+ setOnEnd(listener: (request: HttpRequest, response: HttpResponse) => any): void;
13
18
  private publish;
14
19
  private run;
15
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ismx-nexo-node-app",
3
- "version": "0.3.24",
3
+ "version": "0.3.26",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "rm -rf ./dist && npx tsc",
@@ -27,8 +27,6 @@
27
27
  "@types/node": "^14.0.5",
28
28
  "@types/node-fetch": "^2.6.11",
29
29
  "@types/pg": "^8.11.10",
30
- "rollup": "^4.24.4",
31
- "rollup-plugin-dts": "^6.1.1",
32
30
  "tsx": "^4.19.1",
33
31
  "typescript": "^5.6.3"
34
32
  }
@@ -7,11 +7,6 @@ import cors from 'cors';
7
7
  export default class BusinessServer extends Business
8
8
  {
9
9
  private app: core.Express;
10
- protected onStarted?: ()=>any;
11
- protected onRequest?: (request: HttpRequest) => any;
12
- protected onResponse?: (request: HttpRequest, response: HttpResponse) => HttpResponse<any> | undefined;
13
- protected onError?: (request: HttpRequest, error: Error) => HttpResponse<any> | undefined | void
14
- protected onEnd?: (request: HttpRequest, response: HttpResponse) => any;
15
10
 
16
11
  constructor() {
17
12
  super()
@@ -31,6 +26,31 @@ export default class BusinessServer extends Business
31
26
  services.forEach(this.publish);
32
27
  }
33
28
 
29
+ private onStarted?: ()=>any;
30
+ setOnStarted(listener: ()=>any) {
31
+ this.onStarted = listener;
32
+ }
33
+
34
+ private onRequest?: (request: HttpRequest) => void;
35
+ setOnRequest(listener: (request: HttpRequest) => void) {
36
+ this.onRequest = listener;
37
+ }
38
+
39
+ private onResponse?: (request: HttpRequest, response: HttpResponse) => HttpResponse | void;
40
+ setOnResponse(listener: (request: HttpRequest, response: HttpResponse) => HttpResponse | void) {
41
+ this.onResponse = listener;
42
+ }
43
+
44
+ private onError?: (request: HttpRequest, error: Error) => HttpResponse | void
45
+ setOnError(listener: (request: HttpRequest, error: Error) => HttpResponse) {
46
+ this.onError = listener;
47
+ }
48
+
49
+ private onEnd?: (request: HttpRequest, response: HttpResponse) => any;
50
+ setOnEnd(listener: (request: HttpRequest, response: HttpResponse) => any) {
51
+ this.onEnd = listener;
52
+ }
53
+
34
54
  private publish<Req=any, Res=any>(service: Service<Req, Res>) {
35
55
  switch (service.method) {
36
56
  case "GET": this.app.get(service.endpoint, this.run(service)); break;
@@ -58,18 +78,17 @@ export default class BusinessServer extends Business
58
78
  try {
59
79
  try { this.onRequest?.(request); } catch(e) { }
60
80
  response = await service.serve?.(request);
61
- response.httpCode = response.httpCode ?? 200;
62
81
  try { response = (this.onResponse?.(request, response) ?? response) } catch(e) { }
82
+ response.httpCode = response.httpCode ?? 200;
63
83
 
64
84
  } catch (error: any) {
65
- this.onError?.(request, error);
66
- let debug = error.message;
67
- if (!error.code) error = { code: "-1", description: "Internal server error", debug };
68
- let content = { code: error.code, description: error.description, debug };
69
- response = HttpResponse.ko(error.httpCode, content);
85
+ try { error = this.onError?.(request, error); } catch (e) { }
86
+ if (error instanceof HttpResponse) response = error;
87
+ else response = HttpResponse.ko(error.httpCode ?? 500, error.content);
70
88
 
71
89
  } finally {
72
- socket.status(response?.httpCode ?? 500).send(response?.content);
90
+ let status = response?.httpCode ?? 500;
91
+ socket.status(status).send(response?.content);
73
92
  try { this.onEnd?.(request, response); } catch(e) { }
74
93
  }
75
94
  }}