@haku-sci/utils 8.5.0 → 9.0.0
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.
- package/dist/TCP/haku-error.d.ts +8 -0
- package/dist/TCP/haku-error.js +14 -0
- package/dist/TCP/haku-error.js.map +1 -0
- package/dist/TCP/remote-service.exception.d.ts +3 -0
- package/dist/TCP/remote-service.exception.js +8 -0
- package/dist/TCP/remote-service.exception.js.map +1 -0
- package/dist/TCP/tcp.service.js +20 -13
- package/dist/TCP/tcp.service.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/microservice/exceptionFilter.d.ts +3 -3
- package/dist/microservice/exceptionFilter.js +15 -5
- package/dist/microservice/exceptionFilter.js.map +1 -1
- package/dist/microservice/sqlite.service.d.ts +1 -0
- package/dist/microservice/sqlite.service.js +9 -0
- package/dist/microservice/sqlite.service.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toHakuError = toHakuError;
|
|
4
|
+
const remote_service_exception_1 = require("./remote-service.exception");
|
|
5
|
+
function toHakuError(error, service) {
|
|
6
|
+
return {
|
|
7
|
+
service,
|
|
8
|
+
message: error?.message ?? String(error),
|
|
9
|
+
status: error?.getStatus?.() ?? error?.status ?? error?.statusCode,
|
|
10
|
+
stack: error?.stack,
|
|
11
|
+
cause: error instanceof remote_service_exception_1.RemoteServiceException ? error.getResponse() : undefined,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=haku-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"haku-error.js","sourceRoot":"","sources":["../../src/TCP/haku-error.ts"],"names":[],"mappings":";;AAcA,kCAQC;AAtBD,yEAAoE;AAcpE,SAAgB,WAAW,CAAC,KAAU,EAAE,OAAgB;IACtD,OAAO;QACL,OAAO;QACP,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;QACxC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,UAAU;QAClE,KAAK,EAAE,KAAK,EAAE,KAAK;QACnB,KAAK,EAAE,KAAK,YAAY,iDAAsB,CAAC,CAAC,CAAE,KAAK,CAAC,WAAW,EAAgB,CAAC,CAAC,CAAC,SAAS;KAChG,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemoteServiceException = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
class RemoteServiceException extends common_1.HttpException {
|
|
6
|
+
}
|
|
7
|
+
exports.RemoteServiceException = RemoteServiceException;
|
|
8
|
+
//# sourceMappingURL=remote-service.exception.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-service.exception.js","sourceRoot":"","sources":["../../src/TCP/remote-service.exception.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAI/C,MAAa,sBAAuB,SAAQ,sBAAa;CAAI;AAA7D,wDAA6D"}
|
package/dist/TCP/tcp.service.js
CHANGED
|
@@ -18,18 +18,23 @@ const exceptionFilter_1 = require("../microservice/exceptionFilter");
|
|
|
18
18
|
const constants_1 = require("@nestjs/microservices/constants");
|
|
19
19
|
const constants_2 = require("@nestjs/common/constants");
|
|
20
20
|
const nestjs_discovery_1 = require("@golevelup/nestjs-discovery");
|
|
21
|
+
const remote_service_exception_1 = require("./remote-service.exception");
|
|
22
|
+
const UNDELIVERED_ERROR_CODES = new Set(['ECONNREFUSED', 'EHOSTUNREACH', 'ENOTFOUND', 'EAI_AGAIN']);
|
|
23
|
+
class UndeliveredMessageException extends common_1.HttpException {
|
|
24
|
+
}
|
|
21
25
|
let TCPService = TCPService_1 = class TCPService {
|
|
22
26
|
static async sendMessage(service, action, resource, payload = {}) {
|
|
27
|
+
const callSite = new Error().stack?.split('\n').slice(2).join('\n');
|
|
23
28
|
try {
|
|
24
|
-
return await TCPService_1.trySendMessage(service, action, resource, payload, false);
|
|
29
|
+
return await TCPService_1.trySendMessage(service, action, resource, payload, false, callSite);
|
|
25
30
|
}
|
|
26
31
|
catch (err) {
|
|
27
|
-
if (err instanceof
|
|
28
|
-
return await TCPService_1.trySendMessage(service, action, resource, payload, true);
|
|
32
|
+
if (err instanceof UndeliveredMessageException)
|
|
33
|
+
return await TCPService_1.trySendMessage(service, action, resource, payload, true, callSite);
|
|
29
34
|
throw err;
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
|
-
static async trySendMessage(service, action, resource, payload, forceRefresh) {
|
|
37
|
+
static async trySendMessage(service, action, resource, payload, forceRefresh, callSite) {
|
|
33
38
|
let client;
|
|
34
39
|
try {
|
|
35
40
|
client = await microservices_1.ClientProxyFactory.create({
|
|
@@ -39,13 +44,15 @@ let TCPService = TCPService_1 = class TCPService {
|
|
|
39
44
|
}
|
|
40
45
|
catch (err) {
|
|
41
46
|
const status = err?.status || err?.statusCode || common_1.HttpStatus.SERVICE_UNAVAILABLE;
|
|
42
|
-
throw new
|
|
47
|
+
throw new UndeliveredMessageException({ message: err?.message || 'Unknown error', service }, status);
|
|
43
48
|
}
|
|
44
49
|
try {
|
|
45
50
|
payload["sender"] = await utils.microServiceName();
|
|
46
51
|
let response$ = await client.send([resource, action].join("/"), payload).pipe((0, rxjs_1.catchError)(err => {
|
|
47
52
|
const inner = err?.error ?? err;
|
|
48
|
-
const
|
|
53
|
+
const undelivered = UNDELIVERED_ERROR_CODES.has(err?.code);
|
|
54
|
+
const status = inner?.status || inner?.statusCode || err?.status ||
|
|
55
|
+
(undelivered ? common_1.HttpStatus.SERVICE_UNAVAILABLE : common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
49
56
|
const message = (typeof inner === 'object' ? inner?.message : inner) ||
|
|
50
57
|
err?.message ||
|
|
51
58
|
'Unknown error';
|
|
@@ -54,7 +61,11 @@ let TCPService = TCPService_1 = class TCPService {
|
|
|
54
61
|
message,
|
|
55
62
|
service,
|
|
56
63
|
};
|
|
57
|
-
|
|
64
|
+
if (undelivered)
|
|
65
|
+
return (0, rxjs_1.throwError)(() => new UndeliveredMessageException(payload, status));
|
|
66
|
+
const remote = new remote_service_exception_1.RemoteServiceException(payload, status);
|
|
67
|
+
remote.stack = `${remote.name}: ${remote.message}\n${callSite}`;
|
|
68
|
+
return (0, rxjs_1.throwError)(() => remote);
|
|
58
69
|
}));
|
|
59
70
|
const watchdogTimeout = parseInt(process.env.WATCHDOG);
|
|
60
71
|
if (!isNaN(watchdogTimeout) && watchdogTimeout > 0)
|
|
@@ -151,7 +162,7 @@ let TCPService = TCPService_1 = class TCPService {
|
|
|
151
162
|
const prototype = Object.getPrototypeOf(instance);
|
|
152
163
|
const tcpParamMeta = Reflect.getMetadata(tcp_param_decorator_1.TCP_PARAM_METADATA_KEY, prototype, methodName) ?? [];
|
|
153
164
|
const senderParamIndex = Reflect.getMetadata(tcp_param_decorator_1.TCP_SENDER_METADATA_KEY, prototype, methodName);
|
|
154
|
-
return async function boundHandler(data
|
|
165
|
+
return async function boundHandler(data) {
|
|
155
166
|
try {
|
|
156
167
|
const { sender, ...rest } = data ?? {};
|
|
157
168
|
let payload = rest;
|
|
@@ -175,11 +186,7 @@ let TCPService = TCPService_1 = class TCPService {
|
|
|
175
186
|
return TCPService_1.normalizeErrors(result);
|
|
176
187
|
}
|
|
177
188
|
catch (err) {
|
|
178
|
-
|
|
179
|
-
switchToRpc: () => ({ getContext: () => context }),
|
|
180
|
-
getArgByIndex: (i) => (i === 0 ? data : context),
|
|
181
|
-
};
|
|
182
|
-
return new exceptionFilter_1.AllExceptionsFilter(logger).catch(err, host);
|
|
189
|
+
return new exceptionFilter_1.AllExceptionsFilter(logger).catch(err);
|
|
183
190
|
}
|
|
184
191
|
};
|
|
185
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tcp.service.js","sourceRoot":"","sources":["../../src/TCP/tcp.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,yDAAmF;AACnF,+DAAwF;AACxF,+BAAsF;AACtF,kCAAiC;AACjC,mDAAgD;AAEhD,
|
|
1
|
+
{"version":3,"file":"tcp.service.js","sourceRoot":"","sources":["../../src/TCP/tcp.service.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './microservice/microservice.service';
|
|
2
2
|
export * from './microservice/consul';
|
|
3
3
|
export * from './TCP/tcp.service';
|
|
4
|
+
export * from './TCP/remote-service.exception';
|
|
5
|
+
export * from './TCP/haku-error';
|
|
4
6
|
export * from './TCP/tcp.module';
|
|
5
7
|
export * from './TCP/restrict-sender.decorator';
|
|
6
8
|
export * from './TCP/tcp-param.decorator';
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./microservice/microservice.service"), exports);
|
|
18
18
|
__exportStar(require("./microservice/consul"), exports);
|
|
19
19
|
__exportStar(require("./TCP/tcp.service"), exports);
|
|
20
|
+
__exportStar(require("./TCP/remote-service.exception"), exports);
|
|
21
|
+
__exportStar(require("./TCP/haku-error"), exports);
|
|
20
22
|
__exportStar(require("./TCP/tcp.module"), exports);
|
|
21
23
|
__exportStar(require("./TCP/restrict-sender.decorator"), exports);
|
|
22
24
|
__exportStar(require("./TCP/tcp-param.decorator"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,wDAAsC;AACtC,oDAAkC;AAClC,mDAAiC;AACjC,kEAAgD;AAChD,4DAA0C;AAC1C,oEAAkD;AAClD,+DAA6C;AAC7C,gEAA8C;AAC9C,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,mDAAiC;AACjC,gEAA8C;AAC9C,8CAA4B;AAC5B,iEAA+C;AAC/C,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,wDAAsC;AACtC,oDAAkC;AAClC,iEAA+C;AAC/C,mDAAiC;AACjC,mDAAiC;AACjC,kEAAgD;AAChD,4DAA0C;AAC1C,oEAAkD;AAClD,+DAA6C;AAC7C,gEAA8C;AAC9C,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,mDAAiC;AACjC,gEAA8C;AAC9C,8CAA4B;AAC5B,iEAA+C;AAC/C,0CAAwB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Logger, RpcExceptionFilter } from '@nestjs/common';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
export declare class AllExceptionsFilter implements RpcExceptionFilter<any> {
|
|
4
4
|
private readonly logger;
|
|
5
5
|
constructor(logger: Logger);
|
|
6
|
-
handleUnknownError(exception: any
|
|
6
|
+
handleUnknownError(exception: any): Observable<never>;
|
|
7
7
|
isError(exception: any): exception is Error;
|
|
8
|
-
catch(exception: any
|
|
8
|
+
catch(exception: any): Observable<any>;
|
|
9
9
|
private handleException;
|
|
10
10
|
}
|
|
@@ -13,23 +13,33 @@ exports.AllExceptionsFilter = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const rxjs_1 = require("rxjs");
|
|
15
15
|
const microservices_1 = require("@nestjs/microservices");
|
|
16
|
+
const remote_service_exception_1 = require("../TCP/remote-service.exception");
|
|
17
|
+
const haku_error_1 = require("../TCP/haku-error");
|
|
16
18
|
let AllExceptionsFilter = class AllExceptionsFilter {
|
|
17
19
|
constructor(logger) {
|
|
18
20
|
this.logger = logger;
|
|
19
21
|
this.logger.log('ExceptionsHandler initialized');
|
|
20
22
|
}
|
|
21
|
-
handleUnknownError(exception
|
|
23
|
+
handleUnknownError(exception) {
|
|
22
24
|
return this.handleException(exception);
|
|
23
25
|
}
|
|
24
26
|
isError(exception) {
|
|
25
|
-
|
|
27
|
+
return exception instanceof Error;
|
|
26
28
|
}
|
|
27
|
-
catch(exception
|
|
29
|
+
catch(exception) {
|
|
28
30
|
return this.handleException(exception);
|
|
29
31
|
}
|
|
30
32
|
handleException(exception) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
const status = exception?.getStatus?.() ?? exception?.status ?? exception?.statusCode;
|
|
34
|
+
if (exception instanceof remote_service_exception_1.RemoteServiceException)
|
|
35
|
+
this.logger.debug(`Relayed from ${exception.getResponse()?.['service']}: ${exception.message}`);
|
|
36
|
+
else if (typeof status === 'number' && status < 500)
|
|
37
|
+
this.logger.warn(exception instanceof Error ? exception : exception?.message ?? exception);
|
|
38
|
+
else if (exception instanceof Error)
|
|
39
|
+
this.logger.error(exception.message, exception.stack);
|
|
40
|
+
else
|
|
41
|
+
this.logger.error(exception);
|
|
42
|
+
return (0, rxjs_1.throwError)(() => new microservices_1.RpcException((0, haku_error_1.toHakuError)(exception)));
|
|
33
43
|
}
|
|
34
44
|
};
|
|
35
45
|
exports.AllExceptionsFilter = AllExceptionsFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptionFilter.js","sourceRoot":"","sources":["../../src/microservice/exceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"exceptionFilter.js","sourceRoot":"","sources":["../../src/microservice/exceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,+BAA8C;AAC9C,yDAAqD;AACrD,8EAAyE;AACzE,kDAAgD;AAEzC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAE9B,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,kBAAkB,CAAC,SAAc;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAsB,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,SAAc;QACpB,OAAO,SAAS,YAAY,KAAK,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAc;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAGO,eAAe,CAAC,SAAc;QACpC,MAAM,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,SAAS,EAAE,MAAM,IAAI,SAAS,EAAE,UAAU,CAAC;QACtF,IAAI,SAAS,YAAY,iDAAsB;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;aAC7F,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,GAAG;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;aACxF,IAAI,SAAS,YAAY,KAAK;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;;YAEtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAI,4BAAY,CAAC,IAAA,wBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF,CAAA;AA/BY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,cAAK,EAAC,4BAAY,CAAC;qCAGE,eAAM;GAFf,mBAAmB,CA+B/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createDatabaseFolderIfNotExists(): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createDatabaseFolderIfNotExists = createDatabaseFolderIfNotExists;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
function createDatabaseFolderIfNotExists() {
|
|
7
|
+
(0, fs_1.mkdirSync)((0, path_1.dirname)(process.env.SQL_DB), { recursive: true });
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=sqlite.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.service.js","sourceRoot":"","sources":["../../src/microservice/sqlite.service.ts"],"names":[],"mappings":";;AAIA,0EAEC;AAND,2BAA+B;AAC/B,+BAA+B;AAG/B,SAAgB,+BAA+B;IAC7C,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC"}
|