@lucaapp/service-utils 1.9.2 → 1.10.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 +1 -0
- package/dist/index.js +1 -0
- package/dist/lib/requestTracer/index.d.ts +1 -0
- package/dist/lib/requestTracer/index.js +17 -0
- package/dist/lib/requestTracer/requestTracer.d.ts +12 -0
- package/dist/lib/requestTracer/requestTracer.js +26 -0
- package/dist/lib/serviceIdentity/serviceIdentity.js +2 -0
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./lib/kafka"), exports);
|
|
18
18
|
__exportStar(require("./lib/serviceIdentity"), exports);
|
|
19
19
|
__exportStar(require("./lib/metrics"), exports);
|
|
20
|
+
__exportStar(require("./lib/requestTracer"), exports);
|
|
20
21
|
__exportStar(require("./lib/wsEvent"), exports);
|
|
21
22
|
__exportStar(require("./lib/lifecycle"), exports);
|
|
22
23
|
__exportStar(require("./lib/logger"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './requestTracer';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./requestTracer"), exports);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="node/http" />
|
|
2
|
+
/// <reference types="lib/logger/types" />
|
|
3
|
+
/// <reference types="pino-http" />
|
|
4
|
+
declare const getRequestTracerId: () => string;
|
|
5
|
+
declare const getRequestTracerMixin: () => {
|
|
6
|
+
reqId: {};
|
|
7
|
+
} | {
|
|
8
|
+
reqId?: undefined;
|
|
9
|
+
};
|
|
10
|
+
declare const getRequestIdHeader: () => object;
|
|
11
|
+
declare const requestTracerMiddleware: () => (req: import("http").IncomingMessage, res: import("http").ServerResponse<import("http").IncomingMessage>, next: (err?: any) => void) => void;
|
|
12
|
+
export { getRequestTracerId, getRequestTracerMixin, getRequestIdHeader, requestTracerMiddleware, };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.requestTracerMiddleware = exports.getRequestIdHeader = exports.getRequestTracerMixin = exports.getRequestTracerId = void 0;
|
|
7
|
+
const uuid_1 = require("uuid");
|
|
8
|
+
const cls_rtracer_1 = __importDefault(require("cls-rtracer"));
|
|
9
|
+
const REQUEST_ID_HEADER = 'x-request-id';
|
|
10
|
+
const getRequestTracerId = () => cls_rtracer_1.default.id() ? `${cls_rtracer_1.default.id()}` : (0, uuid_1.v4)();
|
|
11
|
+
exports.getRequestTracerId = getRequestTracerId;
|
|
12
|
+
const getRequestTracerMixin = () => {
|
|
13
|
+
const reqId = cls_rtracer_1.default.id();
|
|
14
|
+
return reqId ? { reqId } : {};
|
|
15
|
+
};
|
|
16
|
+
exports.getRequestTracerMixin = getRequestTracerMixin;
|
|
17
|
+
const getRequestIdHeader = () => {
|
|
18
|
+
const reqId = getRequestTracerId();
|
|
19
|
+
return reqId ? { [REQUEST_ID_HEADER]: reqId } : {};
|
|
20
|
+
};
|
|
21
|
+
exports.getRequestIdHeader = getRequestIdHeader;
|
|
22
|
+
const requestTracerMiddleware = () => cls_rtracer_1.default.expressMiddleware({
|
|
23
|
+
echoHeader: true,
|
|
24
|
+
useHeader: true,
|
|
25
|
+
});
|
|
26
|
+
exports.requestTracerMiddleware = requestTracerMiddleware;
|
|
@@ -31,6 +31,7 @@ const jose = __importStar(require("jose"));
|
|
|
31
31
|
const url_1 = require("url");
|
|
32
32
|
const boom_1 = require("@hapi/boom");
|
|
33
33
|
const moment_1 = __importDefault(require("moment"));
|
|
34
|
+
const requestTracer_1 = require("../requestTracer");
|
|
34
35
|
const axios_1 = __importDefault(require("axios"));
|
|
35
36
|
const JWT_ALGORITHM = 'ES256';
|
|
36
37
|
const JWT_HEADER_NAME = 'X-Identity';
|
|
@@ -86,6 +87,7 @@ class ServiceIdentity {
|
|
|
86
87
|
const request = {
|
|
87
88
|
headers: {
|
|
88
89
|
[JWT_HEADER_NAME]: jwt,
|
|
90
|
+
...(0, requestTracer_1.getRequestIdHeader)(),
|
|
89
91
|
},
|
|
90
92
|
baseURL: `http://${service}:8080/`,
|
|
91
93
|
url,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucaapp/service-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"@hapi/boom": "^10.0.0",
|
|
39
39
|
"@types/express": "4.17.13",
|
|
40
40
|
"axios": "^0.27.2",
|
|
41
|
+
"cls-rtracer": "^2.6.2",
|
|
41
42
|
"jose": "4.9.2",
|
|
42
43
|
"kafkajs": "2.1.0",
|
|
43
44
|
"lodash": "^4.17.21",
|