@biorate/nestjs-tools 1.156.1 → 1.156.2
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/CHANGELOG.md +6 -0
- package/dist/src/middlewares/proxy-middleware.js +12 -10
- package/dist/src/middlewares/proxy-middleware.js.map +1 -1
- package/dist/src/middlewares/response-time-middleware.js +12 -10
- package/dist/src/middlewares/response-time-middleware.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/middlewares/proxy-middleware.ts +14 -13
- package/src/middlewares/response-time-middleware.ts +13 -12
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.156.2](https://github.com/biorate/core/compare/v1.156.1...v1.156.2) (2025-09-18)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **nestjs-tools:** prom metrix fix ([0e3f0f1](https://github.com/biorate/core/commit/0e3f0f1e6b73704d2360063cd470c2cc09de30a8))
|
|
11
|
+
|
|
6
12
|
## [1.156.1](https://github.com/biorate/core/compare/v1.156.0...v1.156.1) (2025-09-18)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @biorate/nestjs-tools
|
|
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var ProxyPrometheusMiddleware_1;
|
|
11
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
13
|
exports.ProxyPrometheusMiddleware = void 0;
|
|
13
14
|
const lodash_1 = require("lodash");
|
|
@@ -16,20 +17,21 @@ const common_1 = require("@nestjs/common");
|
|
|
16
17
|
const prometheus_1 = require("@biorate/prometheus");
|
|
17
18
|
const tools_1 = require("@biorate/tools");
|
|
18
19
|
const inversion_1 = require("@biorate/inversion");
|
|
19
|
-
let ProxyPrometheusMiddleware = class ProxyPrometheusMiddleware {
|
|
20
|
+
let ProxyPrometheusMiddleware = ProxyPrometheusMiddleware_1 = class ProxyPrometheusMiddleware {
|
|
20
21
|
static create(options) {
|
|
21
22
|
return new this(options).handler;
|
|
22
23
|
}
|
|
23
24
|
constructor(options = {}) {
|
|
24
25
|
this.time = new WeakMap();
|
|
25
26
|
const { onProxyReq, onProxyRes } = (0, lodash_1.pick)(options, 'onProxyReq', 'onProxyRes');
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
if (!ProxyPrometheusMiddleware_1.histogram)
|
|
28
|
+
ProxyPrometheusMiddleware_1.histogram = new prometheus_1.Histogram({
|
|
29
|
+
name: 'http_proxy_server_requests_seconds',
|
|
30
|
+
help: 'Http proxy server requests seconds bucket',
|
|
31
|
+
labelNames: ['method', 'uri', 'status'],
|
|
32
|
+
buckets: this.config.get('ProxyPrometheusMiddleware.histogram.buckets', [0.005, 0.01, 0.02, 0.05, 0.1, 0.3, 0.5, 1, 2, 3, 5, 10]),
|
|
33
|
+
registers: [prometheus_1.Prometheus.registry],
|
|
34
|
+
});
|
|
33
35
|
this.handler = (0, http_proxy_middleware_1.createProxyMiddleware)(Object.assign(Object.assign({}, (0, lodash_1.omit)(options, 'onProxyReq', 'onProxyRes')), { onProxyReq: (proxyReq, req, res, options) => {
|
|
34
36
|
this.time.set(req, { time: tools_1.time.diff() });
|
|
35
37
|
return onProxyReq === null || onProxyReq === void 0 ? void 0 : onProxyReq(proxyReq, req, res, options);
|
|
@@ -42,7 +44,7 @@ let ProxyPrometheusMiddleware = class ProxyPrometheusMiddleware {
|
|
|
42
44
|
status: res.statusCode,
|
|
43
45
|
})
|
|
44
46
|
.inc();
|
|
45
|
-
|
|
47
|
+
ProxyPrometheusMiddleware_1.histogram
|
|
46
48
|
.labels({
|
|
47
49
|
method: req.method,
|
|
48
50
|
uri: req.baseUrl,
|
|
@@ -65,7 +67,7 @@ __decorate([
|
|
|
65
67
|
}),
|
|
66
68
|
__metadata("design:type", prometheus_1.Counter)
|
|
67
69
|
], ProxyPrometheusMiddleware.prototype, "counter", void 0);
|
|
68
|
-
ProxyPrometheusMiddleware = __decorate([
|
|
70
|
+
ProxyPrometheusMiddleware = ProxyPrometheusMiddleware_1 = __decorate([
|
|
69
71
|
(0, common_1.Injectable)(),
|
|
70
72
|
__metadata("design:paramtypes", [Object])
|
|
71
73
|
], ProxyPrometheusMiddleware);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-middleware.js","sourceRoot":"","sources":["../../../src/middlewares/proxy-middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proxy-middleware.js","sourceRoot":"","sources":["../../../src/middlewares/proxy-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var ResponseTimeMiddleware_1;
|
|
11
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
13
|
exports.ResponseTimeMiddleware = void 0;
|
|
13
14
|
const onHeaders = require("on-headers");
|
|
@@ -16,18 +17,19 @@ const inversion_1 = require("@biorate/inversion");
|
|
|
16
17
|
const prometheus_1 = require("@biorate/prometheus");
|
|
17
18
|
const tools_1 = require("@biorate/tools");
|
|
18
19
|
const interceptors_1 = require("../interceptors");
|
|
19
|
-
let ResponseTimeMiddleware = class ResponseTimeMiddleware {
|
|
20
|
+
let ResponseTimeMiddleware = ResponseTimeMiddleware_1 = class ResponseTimeMiddleware {
|
|
20
21
|
constructor() {
|
|
21
22
|
this.suffix = this.config.get('app.middleware.ResponseTimeMiddleware.suffix', true);
|
|
22
23
|
this.header = this.config.get('app.middleware.ResponseTimeMiddleware.header', 'x-response-time');
|
|
23
24
|
this.digits = this.config.get('app.middleware.ResponseTimeMiddleware.digits', 3);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
if (!ResponseTimeMiddleware_1.histogram)
|
|
26
|
+
ResponseTimeMiddleware_1.histogram = new prometheus_1.Histogram({
|
|
27
|
+
name: 'http_server_requests_seconds',
|
|
28
|
+
help: 'Http server requests seconds bucket',
|
|
29
|
+
labelNames: ['method', 'uri', 'status'],
|
|
30
|
+
buckets: this.config.get('ResponseTimeMiddleware.histogram.buckets', [0.005, 0.01, 0.02, 0.05, 0.1, 0.3, 0.5, 1, 2, 3, 5, 10]),
|
|
31
|
+
registers: [prometheus_1.Prometheus.registry],
|
|
32
|
+
});
|
|
31
33
|
}
|
|
32
34
|
use(req, res, next) {
|
|
33
35
|
const diff = tools_1.time.diff();
|
|
@@ -36,7 +38,7 @@ let ResponseTimeMiddleware = class ResponseTimeMiddleware {
|
|
|
36
38
|
var _a;
|
|
37
39
|
const time = diff();
|
|
38
40
|
const route = interceptors_1.RoutesInterceptor.map.get(req);
|
|
39
|
-
|
|
41
|
+
ResponseTimeMiddleware_1.histogram
|
|
40
42
|
.labels({
|
|
41
43
|
method: req.method,
|
|
42
44
|
uri: (_a = route === null || route === void 0 ? void 0 : route.path) !== null && _a !== void 0 ? _a : (this.config.get('app.middleware.ResponseTimeMiddleware.log-base-url', false)
|
|
@@ -54,7 +56,7 @@ __decorate([
|
|
|
54
56
|
(0, inversion_1.inject)(inversion_1.Types.Config),
|
|
55
57
|
__metadata("design:type", Object)
|
|
56
58
|
], ResponseTimeMiddleware.prototype, "config", void 0);
|
|
57
|
-
ResponseTimeMiddleware = __decorate([
|
|
59
|
+
ResponseTimeMiddleware = ResponseTimeMiddleware_1 = __decorate([
|
|
58
60
|
(0, common_1.Injectable)(),
|
|
59
61
|
__metadata("design:paramtypes", [])
|
|
60
62
|
], ResponseTimeMiddleware);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-time-middleware.js","sourceRoot":"","sources":["../../../src/middlewares/response-time-middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"response-time-middleware.js","sourceRoot":"","sources":["../../../src/middlewares/response-time-middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,wCAAwC;AACxC,2CAA4D;AAC5D,kDAAmD;AAEnD,oDAA4D;AAE5D,0CAAsC;AACtC,kDAAoD;AAEpD,IACa,sBAAsB,8BADnC,MACa,sBAAsB;IAWjC;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAC3B,8CAA8C,EAC9C,IAAI,CACL,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAC3B,8CAA8C,EAC9C,iBAAiB,CAClB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAC3B,8CAA8C,EAC9C,CAAC,CACF,CAAC;QACF,IAAI,CAAC,wBAAsB,CAAC,SAAS;YACnC,wBAAsB,CAAC,SAAS,GAAG,IAAI,sBAAS,CAAC;gBAC/C,IAAI,EAAE,8BAA8B;gBACpC,IAAI,EAAE,qCAAqC;gBAC3C,UAAU,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CACtB,0CAA0C,EAC1C,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACzD;gBACD,SAAS,EAAE,CAAC,uBAAU,CAAC,QAAQ,CAAC;aACjC,CAAC,CAAC;IACP,CAAC;IAEM,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACxD,MAAM,IAAI,GAAG,YAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,YAAI,CAAC,IAAI,CAAC;QACvB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;;YAClB,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,gCAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7C,wBAAsB,CAAC,SAAS;iBAC7B,MAAM,CAAC;gBACN,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,GAAG,EACD,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCACX,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACd,oDAAoD,EACpD,KAAK,CACN;oBACC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,WAAW;oBAChC,CAAC,CAAC,GAAG,CAAC;gBACV,MAAM,EAAE,GAAG,CAAC,UAAU;aACvB,CAAC;iBACD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AA5D+B;IAA7B,IAAA,kBAAM,EAAC,iBAAK,CAAC,MAAM,CAAC;;sDAAyB;AADnC,sBAAsB;IADlC,IAAA,mBAAU,GAAE;;GACA,sBAAsB,CA6DlC;AA7DY,wDAAsB"}
|