@haku-sci/utils 8.3.3 → 8.5.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/tcp.service.d.ts +1 -0
- package/dist/TCP/tcp.service.js +11 -1
- package/dist/TCP/tcp.service.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/microservice/consul.d.ts +3 -2
- package/dist/microservice/consul.js +27 -8
- package/dist/microservice/consul.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Logger } from '@nestjs/common';
|
|
2
2
|
export declare class TCPService {
|
|
3
3
|
static sendMessage(service: any, action: string, resource?: string, payload?: {}): Promise<any>;
|
|
4
|
+
private static trySendMessage;
|
|
4
5
|
static registerHakuSciMessageHandlers(app: any, logger: Logger): Promise<void>;
|
|
5
6
|
private static enablePatternRouting;
|
|
6
7
|
private static normalizeErrors;
|
package/dist/TCP/tcp.service.js
CHANGED
|
@@ -20,11 +20,21 @@ const constants_2 = require("@nestjs/common/constants");
|
|
|
20
20
|
const nestjs_discovery_1 = require("@golevelup/nestjs-discovery");
|
|
21
21
|
let TCPService = TCPService_1 = class TCPService {
|
|
22
22
|
static async sendMessage(service, action, resource, payload = {}) {
|
|
23
|
+
try {
|
|
24
|
+
return await TCPService_1.trySendMessage(service, action, resource, payload, false);
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
if (err instanceof common_1.HttpException && err.getStatus() === common_1.HttpStatus.SERVICE_UNAVAILABLE)
|
|
28
|
+
return await TCPService_1.trySendMessage(service, action, resource, payload, true);
|
|
29
|
+
throw err;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
static async trySendMessage(service, action, resource, payload, forceRefresh) {
|
|
23
33
|
let client;
|
|
24
34
|
try {
|
|
25
35
|
client = await microservices_1.ClientProxyFactory.create({
|
|
26
36
|
transport: microservices_1.Transport.TCP,
|
|
27
|
-
options: await consul_1.Consul.getServiceURI(service),
|
|
37
|
+
options: await consul_1.Consul.getServiceURI(service, forceRefresh),
|
|
28
38
|
});
|
|
29
39
|
}
|
|
30
40
|
catch (err) {
|
|
@@ -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,2CAA8F;AAC9F,qEAAsE;AACtE,+DAAmE;AACnE,wDAAyD;AACzD,kEAAgF;AAGzE,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACnB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,MAAc,EAAE,QAAiB,EAAE,OAAO,GAAC,EAAE;QAC3E,IAAI,MAAmB,CAAC;QACxB,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,kCAAkB,CAAC,MAAM,CAAC;gBACrC,SAAS,EAAE,yBAAS,CAAC,GAAG;gBACxB,OAAO,EAAE,MAAM,eAAM,CAAC,aAAa,CAAC,OAAO,CAAC;
|
|
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,2CAA8F;AAC9F,qEAAsE;AACtE,+DAAmE;AACnE,wDAAyD;AACzD,kEAAgF;AAGzE,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACnB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,MAAc,EAAE,QAAiB,EAAE,OAAO,GAAC,EAAE;QAC3E,IAAI,CAAC;YACD,OAAO,MAAM,YAAU,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,YAAY,sBAAa,IAAI,GAAG,CAAC,SAAS,EAAE,KAAK,mBAAU,CAAC,mBAAmB;gBAClF,OAAO,MAAM,YAAU,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACrF,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAY,EAAE,YAAqB;QAC9G,IAAI,MAAmB,CAAC;QACxB,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,kCAAkB,CAAC,MAAM,CAAC;gBACrC,SAAS,EAAE,yBAAS,CAAC,GAAG;gBACxB,OAAO,EAAE,MAAM,eAAM,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC;aAC7D,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,UAAU,IAAI,mBAAU,CAAC,mBAAmB,CAAC;YAChF,MAAM,IAAI,sBAAa,CACnB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,eAAe,EAAE,OAAO,EAAE,EACrD,MAAM,CACT,CAAC;QACN,CAAC;QACD,IAAI,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAA;YAClD,IAAI,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CACzE,IAAA,iBAAU,EAAC,GAAG,CAAC,EAAE;gBACb,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,CAAC;gBAIhC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,UAAU,IAAI,GAAG,EAAE,MAAM,IAAI,mBAAU,CAAC,mBAAmB,CAAC;gBACnG,MAAM,OAAO,GACT,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;oBACpD,GAAG,EAAE,OAAO;oBACZ,eAAe,CAAC;gBACpB,MAAM,OAAO,GAAG;oBACZ,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,OAAO;oBACP,OAAO;iBACV,CAAC;gBACF,OAAO,IAAA,iBAAU,EACb,GAAG,EAAE,CAAC,IAAI,sBAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAC3C,CAAC;YACN,CAAC,CAAC,CACL,CAAC;YACF,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC;gBAC9C,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAA,cAAO,EAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;YACpE,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAa,EAAC,SAAS,CAAC,CAAC;YAC9C,IAAK,MAAc,EAAE,KAAK;gBACtB,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,KAAM,MAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3E,OAAO,MAAM,CAAC;QAClB,CAAC;gBACO,CAAC;YACL,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,UAAc,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,GAAQ,EAAE,MAAc;QAChE,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,kCAAe,CAAC,CAAC;QAC9C,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,mCAAgB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5E,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACnE,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAW,OAAO,CAAC,WAAW,CAAC,yBAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnG,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAClD,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAI,YAAY,KAAK,aAAa,IAAI,OAAO,MAAM,KAAK,UAAU;oBAAE,SAAS;gBAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,4BAAgB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClE,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,OAAO,GAAG,YAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;oBACvE,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAChF,CAAC;YACL,CAAC;QACL,CAAC;QACD,YAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;IACtD,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,MAAW;QAC3C,MAAM,QAAQ,GAAsB,MAAc,CAAC,eAAe,CAAC;QACnE,MAAM,aAAa,GAA0E,EAAE,CAAC;QAEhG,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS;YACjC,MAAM,UAAU,GAAa,EAAE,CAAC;YAGhC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CACxB,0CAA0C,EAC1C,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE;gBAC9B,IAAI,YAAY,EAAE,CAAC;oBACf,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC9B,OAAO,eAAe,CAAC;gBAC3B,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9B,OAAO,SAAS,CAAC;YACrB,CAAC,CACJ,CAAC;YACF,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEvC,MAAM,kBAAkB,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,CAAC,mBAAmB,GAAG,CAAC,eAAuB,EAAE,EAAE;YACrD,MAAM,KAAK,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAClD,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;YAExB,KAAK,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,aAAa,EAAE,CAAC;gBAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,MAAM,eAAe,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;gBAC1D,IAAI,CAAC,eAAe;oBAAE,SAAS;gBAE/B,MAAM,MAAM,GAAuC,EAAE,CAAC;gBACtD,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,OAAO,CAAC,IAAS,EAAE,GAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,MAAW;QACtC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAClF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAClF,OAAO;YACH,GAAG,MAAM;YACT,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjD,EAAE;gBACF,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAClE,CAAC,CAAC;SACN,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,WAAW,CACtB,QAAa,EACb,UAAkB,EAClB,MAAc;QAEd,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,YAAY,GACd,OAAO,CAAC,WAAW,CAAC,4CAAsB,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;QAC7E,MAAM,gBAAgB,GAClB,OAAO,CAAC,WAAW,CAAC,6CAAuB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAExE,OAAO,KAAK,UAAU,YAAY,CAAC,IAAS,EAAE,OAAY;YACtD,IAAI,CAAC;gBACD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvC,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,MAAW,CAAC;gBAChB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;oBACvB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;gBAEpC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxE,IAAI,gBAAgB,KAAK,SAAS;oBAAE,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACvB,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,EAC3B,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAC1C,CAAC;gBACF,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,OAAO,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,UAAU;oBAAE,YAAY,EAAE,CAAC;gBAEtF,MAAM,IAAI,GAAU,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;gBAC7B,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,YAAY;oBACtC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,gBAAgB,KAAK,SAAS;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC;gBACpC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAChE,OAAO,YAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBAEX,MAAM,IAAI,GAAkB;oBACxB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;oBAClD,aAAa,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;iBAEpD,CAAC;gBAGT,OAAO,IAAI,qCAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC,CAAC;IACN,CAAC;CACJ,CAAA;AAlMY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;GACA,UAAU,CAkMtB"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./microservice/microservice.service"), exports);
|
|
18
|
+
__exportStar(require("./microservice/consul"), exports);
|
|
18
19
|
__exportStar(require("./TCP/tcp.service"), exports);
|
|
19
20
|
__exportStar(require("./TCP/tcp.module"), exports);
|
|
20
21
|
__exportStar(require("./TCP/restrict-sender.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,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,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,8 +1,9 @@
|
|
|
1
1
|
import * as net from 'net';
|
|
2
2
|
import { Logger } from '@nestjs/common';
|
|
3
3
|
export declare class Consul {
|
|
4
|
-
static
|
|
5
|
-
static
|
|
4
|
+
private static readonly serviceURICache;
|
|
5
|
+
static registerService(server: net.AddressInfo | net.Server, logger: Logger): Promise<void>;
|
|
6
|
+
static getServiceURI(serviceName: string, forceRefresh?: boolean): Promise<{
|
|
6
7
|
host: string;
|
|
7
8
|
port: number;
|
|
8
9
|
}>;
|
|
@@ -2,15 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Consul = void 0;
|
|
4
4
|
const axios_1 = require("axios");
|
|
5
|
+
const http = require("http");
|
|
6
|
+
const https = require("https");
|
|
5
7
|
const utils = require("../utils");
|
|
6
8
|
const common_1 = require("@nestjs/common");
|
|
9
|
+
const SERVER_CLASS_TRANSPORTS = new Map([
|
|
10
|
+
[https.Server, 'https'],
|
|
11
|
+
[http.Server, 'http'],
|
|
12
|
+
]);
|
|
7
13
|
class Consul {
|
|
8
|
-
static async registerService(
|
|
14
|
+
static async registerService(server, logger) {
|
|
9
15
|
if (!process.env["CONSUL_URL"])
|
|
10
16
|
return;
|
|
17
|
+
const isServerInstance = typeof server?.address === 'function';
|
|
18
|
+
if (isServerInstance && server.address() === null)
|
|
19
|
+
await new Promise((resolve) => server.once('listening', resolve));
|
|
20
|
+
const serverAddress = (isServerInstance ? server.address() : server);
|
|
21
|
+
const transport = isServerInstance
|
|
22
|
+
? [...SERVER_CLASS_TRANSPORTS].find(([cls]) => server instanceof cls)?.[1] ?? 'tcp'
|
|
23
|
+
: 'tcp';
|
|
11
24
|
const externalAddress = process.env.SERVICE_PRIVATE_HOSTNAME || process.env.SERVICE_PUBLIC_HOSTNAME || serverAddress.address;
|
|
12
25
|
const externalPort = parseInt(process.env.SERVICE_PUBLIC_PORT) || serverAddress.port;
|
|
13
|
-
const microServiceName =
|
|
26
|
+
const microServiceName = transport === 'tcp'
|
|
27
|
+
? await utils.microServiceName()
|
|
28
|
+
: `${await utils.microServiceName()}-${transport}`;
|
|
14
29
|
const serviceData = {
|
|
15
30
|
ID: microServiceName,
|
|
16
31
|
Name: microServiceName,
|
|
@@ -26,22 +41,26 @@ class Consul {
|
|
|
26
41
|
await axios_1.default.put(`${process.env["CONSUL_URL"]}/v1/agent/service/register`, serviceData);
|
|
27
42
|
logger.log(`Service registered with Consul on ${externalAddress}:${externalPort}`);
|
|
28
43
|
}
|
|
29
|
-
static async getServiceURI(serviceName) {
|
|
44
|
+
static async getServiceURI(serviceName, forceRefresh = false) {
|
|
45
|
+
if (!forceRefresh && Consul.serviceURICache.has(serviceName))
|
|
46
|
+
return Consul.serviceURICache.get(serviceName);
|
|
30
47
|
const response = await axios_1.default.get(`${process.env["CONSUL_URL"]}/v1/catalog/service/${serviceName}`);
|
|
31
48
|
const serviceInfo = response.data;
|
|
32
49
|
if (serviceInfo.length > 0) {
|
|
33
50
|
const service = serviceInfo[0];
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
host: address,
|
|
38
|
-
port: port,
|
|
51
|
+
const uri = {
|
|
52
|
+
host: service.ServiceAddress || service.Address,
|
|
53
|
+
port: service.ServicePort,
|
|
39
54
|
};
|
|
55
|
+
Consul.serviceURICache.set(serviceName, uri);
|
|
56
|
+
return uri;
|
|
40
57
|
}
|
|
41
58
|
else {
|
|
59
|
+
Consul.serviceURICache.delete(serviceName);
|
|
42
60
|
throw new common_1.ServiceUnavailableException(`Service ${serviceName} not found in Consul catalog`);
|
|
43
61
|
}
|
|
44
62
|
}
|
|
45
63
|
}
|
|
46
64
|
exports.Consul = Consul;
|
|
65
|
+
Consul.serviceURICache = new Map();
|
|
47
66
|
//# sourceMappingURL=consul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consul.js","sourceRoot":"","sources":["../../src/microservice/consul.ts"],"names":[],"mappings":";;;AAAA,iCAA0B;
|
|
1
|
+
{"version":3,"file":"consul.js","sourceRoot":"","sources":["../../src/microservice/consul.ts"],"names":[],"mappings":"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"}
|