@haku-sci/utils 8.3.3 → 8.4.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/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './microservice/microservice.service';
2
+ export * from './microservice/consul';
2
3
  export * from './TCP/tcp.service';
3
4
  export * from './TCP/tcp.module';
4
5
  export * from './TCP/restrict-sender.decorator';
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,7 +1,7 @@
1
1
  import * as net from 'net';
2
2
  import { Logger } from '@nestjs/common';
3
3
  export declare class Consul {
4
- static registerService(serverAddress: net.AddressInfo, logger: Logger): Promise<void>;
4
+ static registerService(server: net.AddressInfo | net.Server, logger: Logger): Promise<void>;
5
5
  static getServiceURI(serviceName: string): Promise<{
6
6
  host: string;
7
7
  port: number;
@@ -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(serverAddress, logger) {
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 = await utils.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,
@@ -1 +1 @@
1
- {"version":3,"file":"consul.js","sourceRoot":"","sources":["../../src/microservice/consul.ts"],"names":[],"mappings":";;;AAAA,iCAA0B;AAE1B,kCAAiC;AACjC,2CAAqE;AACrE,MAAa,MAAM;IACjB,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,aAA8B,EAAE,MAAc;QACzE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YAC5B,OAAO;QACT,MAAM,eAAe,GAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,aAAa,CAAC,OAAO,CAAC;QACzH,MAAM,YAAY,GAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,aAAa,CAAC,IAAI,CAAA;QAClF,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG;YAClB,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE;gBACL,GAAG,EAAE,GAAG,eAAe,IAAI,YAAY,EAAE;gBACzC,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;gBACb,8BAA8B,EAAE,IAAI;aACrC;SACF,CAAC;QAEF,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;QACvF,MAAM,CAAC,GAAG,CAAC,qCAAqC,eAAe,IAAI,YAAY,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,WAAmB;QAC5C,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;QACnG,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;QAElC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;YAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;YACjC,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,oCAA2B,CAAC,WAAW,WAAW,8BAA8B,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;CACF;AAxCD,wBAwCC"}
1
+ {"version":3,"file":"consul.js","sourceRoot":"","sources":["../../src/microservice/consul.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haku-sci/utils",
3
- "version": "8.3.3",
3
+ "version": "8.4.0",
4
4
  "description": "utils from haku-sci. Library only",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",