@promster/hapi 14.0.0 → 15.0.1
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/LICENSE +1 -1
- package/dist/declarations/src/index.d.ts +3 -3
- package/dist/declarations/src/plugin/index.d.ts +1 -1
- package/dist/declarations/src/plugin/plugin.d.ts +3 -3
- package/dist/promster-hapi.cjs.d.ts +1 -1
- package/dist/promster-hapi.cjs.dev.js +20 -21
- package/dist/promster-hapi.cjs.prod.js +20 -21
- package/package.json +9 -9
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { Server } from '@hapi/hapi';
|
|
2
|
+
import { Prometheus, defaultNormalizers, defaultRegister, getContentType, getSummary, timing } from '@promster/metrics';
|
|
3
|
+
import { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsNotUp, signalIsUp } from "./plugin/index.js";
|
|
4
4
|
declare const instrument: (server: Server, options: TPromsterOptions) => Promise<Server<import("@hapi/hapi").ServerApplicationState> & void>;
|
|
5
5
|
export { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp, getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers, instrument, timing, };
|
|
6
6
|
export * from '@promster/types';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { type TPromsterOptions, createPlugin, getRequestRecorder,
|
|
1
|
+
import { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsNotUp, signalIsUp } from "./plugin.js";
|
|
2
2
|
export { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp, };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import type { Plugin, Request, ResponseObject } from '@hapi/hapi';
|
|
2
|
+
import type { TRequestRecorder } from '@promster/metrics';
|
|
3
|
+
import type { TLabelValues, TOptionalPromsterOptions } from '@promster/types';
|
|
4
4
|
declare const getRequestRecorder: () => TRequestRecorder;
|
|
5
5
|
declare const signalIsUp: () => void;
|
|
6
6
|
declare const signalIsNotUp: () => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./declarations/src/index";
|
|
1
|
+
export * from "./declarations/src/index.js";
|
|
2
2
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXN0ZXItaGFwaS5janMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4vZGVjbGFyYXRpb25zL3NyYy9pbmRleC5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIn0=
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var semver = require('semver');
|
|
6
|
-
var merge = require('merge-options');
|
|
7
5
|
var metrics = require('@promster/metrics');
|
|
6
|
+
var merge = require('merge-options');
|
|
7
|
+
var semver = require('semver');
|
|
8
8
|
var types = require('@promster/types');
|
|
9
9
|
|
|
10
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
11
11
|
|
|
12
|
-
var semver__default = /*#__PURE__*/_interopDefault(semver);
|
|
13
12
|
var merge__default = /*#__PURE__*/_interopDefault(merge);
|
|
13
|
+
var semver__default = /*#__PURE__*/_interopDefault(semver);
|
|
14
14
|
|
|
15
15
|
var pkg = {
|
|
16
16
|
name: "@promster/hapi",
|
|
17
|
-
version: "
|
|
17
|
+
version: "15.0.1",
|
|
18
18
|
description: "Hapi server integrations of promster",
|
|
19
19
|
main: "dist/promster-hapi.cjs.js",
|
|
20
20
|
typings: "dist/promster-hapi.cjs.d.ts",
|
|
@@ -50,24 +50,22 @@ var pkg = {
|
|
|
50
50
|
"prometheus"
|
|
51
51
|
],
|
|
52
52
|
dependencies: {
|
|
53
|
-
"@promster/metrics": "
|
|
54
|
-
"@promster/types": "
|
|
53
|
+
"@promster/metrics": "workspace:*",
|
|
54
|
+
"@promster/types": "workspace:*",
|
|
55
55
|
"merge-options": "3.0.4",
|
|
56
|
-
semver: "7.
|
|
57
|
-
tslib: "2.
|
|
56
|
+
semver: "7.7.1",
|
|
57
|
+
tslib: "2.8.1"
|
|
58
58
|
},
|
|
59
59
|
devDependencies: {
|
|
60
60
|
"@hapi/boom": "10.0.1",
|
|
61
|
-
"@hapi/hapi": "21.
|
|
62
|
-
"@types/hapi__hapi": "20.0.13",
|
|
63
|
-
"parse-prometheus-text-format": "1.1.1",
|
|
61
|
+
"@hapi/hapi": "21.4.0",
|
|
64
62
|
"@promster/server": "workspace:*",
|
|
65
|
-
"@types/
|
|
63
|
+
"@types/hapi__hapi": "21.0.0",
|
|
64
|
+
"@types/semver": "7.7.0",
|
|
65
|
+
"parse-prometheus-text-format": "1.1.1"
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
68
|
|
|
69
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
|
70
|
-
|
|
71
69
|
const extractPath = request => request.route.path.replace(/\?/g, '');
|
|
72
70
|
const isBoomResponse = response => response.isBoom;
|
|
73
71
|
const extractStatusCode = request => {
|
|
@@ -89,17 +87,17 @@ const signalIsUp = () => {
|
|
|
89
87
|
if (!upMetric) {
|
|
90
88
|
return;
|
|
91
89
|
}
|
|
92
|
-
|
|
90
|
+
for (const upMetricType of upMetric) {
|
|
93
91
|
upMetricType.set(1);
|
|
94
|
-
}
|
|
92
|
+
}
|
|
95
93
|
};
|
|
96
94
|
const signalIsNotUp = () => {
|
|
97
95
|
if (!upMetric) {
|
|
98
96
|
return;
|
|
99
97
|
}
|
|
100
|
-
|
|
98
|
+
for (const upMetricType of upMetric) {
|
|
101
99
|
upMetricType.set(0);
|
|
102
|
-
}
|
|
100
|
+
}
|
|
103
101
|
};
|
|
104
102
|
const getAreServerEventsSupported = actualVersion => Boolean(actualVersion && semver__default["default"].satisfies(actualVersion, '>= 17.0.0'));
|
|
105
103
|
const getDoesResponseNeedInvocation = actualVersion => Boolean(actualVersion && semver__default["default"].satisfies(actualVersion, '< 17.0.0'));
|
|
@@ -145,14 +143,13 @@ const createPlugin = ({
|
|
|
145
143
|
req: request,
|
|
146
144
|
res: response
|
|
147
145
|
}),
|
|
148
|
-
// eslint-disable-next-line camelcase
|
|
149
146
|
status_code: allDefaultedOptions.normalizeStatusCode(extractStatusCode(request), {
|
|
150
147
|
req: request,
|
|
151
148
|
res: response
|
|
152
149
|
})
|
|
153
150
|
}, (_allDefaultedOptions$ = allDefaultedOptions.getLabelValues) === null || _allDefaultedOptions$ === void 0 ? void 0 : _allDefaultedOptions$.call(allDefaultedOptions, request, {}));
|
|
154
151
|
const requestContentLength = Number((_request$headers$cont = request === null || request === void 0 || (_request$headers = request.headers) === null || _request$headers === void 0 ? void 0 : _request$headers['content-length']) !== null && _request$headers$cont !== void 0 ? _request$headers$cont : 0);
|
|
155
|
-
const responseContentLength = Number(
|
|
152
|
+
const responseContentLength = Number(// @ts-expect-error
|
|
156
153
|
(_request$response$hea = request === null || request === void 0 || (_request$response = request.response) === null || _request$response === void 0 || (_request$response = _request$response.headers) === null || _request$response === void 0 ? void 0 : _request$response['content-length']) !== null && _request$response$hea !== void 0 ? _request$response$hea : 0);
|
|
157
154
|
const shouldSkipByRequest = (_allDefaultedOptions$2 = allDefaultedOptions.skip) === null || _allDefaultedOptions$2 === void 0 ? void 0 : _allDefaultedOptions$2.call(allDefaultedOptions, request, response, labels);
|
|
158
155
|
if (!shouldSkipByRequest && !shouldSkipMetricsByEnvironment) {
|
|
@@ -164,7 +161,9 @@ const createPlugin = ({
|
|
|
164
161
|
}
|
|
165
162
|
|
|
166
163
|
// @ts-expect-error - this is the older Hapi version
|
|
167
|
-
if (doesResponseNeedInvocation)
|
|
164
|
+
if (doesResponseNeedInvocation) {
|
|
165
|
+
response.continue();
|
|
166
|
+
}
|
|
168
167
|
};
|
|
169
168
|
|
|
170
169
|
// NOTE: This version detection allows us to gracefully support both new and old Hapi APIs.
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var semver = require('semver');
|
|
6
|
-
var merge = require('merge-options');
|
|
7
5
|
var metrics = require('@promster/metrics');
|
|
6
|
+
var merge = require('merge-options');
|
|
7
|
+
var semver = require('semver');
|
|
8
8
|
var types = require('@promster/types');
|
|
9
9
|
|
|
10
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
11
11
|
|
|
12
|
-
var semver__default = /*#__PURE__*/_interopDefault(semver);
|
|
13
12
|
var merge__default = /*#__PURE__*/_interopDefault(merge);
|
|
13
|
+
var semver__default = /*#__PURE__*/_interopDefault(semver);
|
|
14
14
|
|
|
15
15
|
var pkg = {
|
|
16
16
|
name: "@promster/hapi",
|
|
17
|
-
version: "
|
|
17
|
+
version: "15.0.1",
|
|
18
18
|
description: "Hapi server integrations of promster",
|
|
19
19
|
main: "dist/promster-hapi.cjs.js",
|
|
20
20
|
typings: "dist/promster-hapi.cjs.d.ts",
|
|
@@ -50,24 +50,22 @@ var pkg = {
|
|
|
50
50
|
"prometheus"
|
|
51
51
|
],
|
|
52
52
|
dependencies: {
|
|
53
|
-
"@promster/metrics": "
|
|
54
|
-
"@promster/types": "
|
|
53
|
+
"@promster/metrics": "workspace:*",
|
|
54
|
+
"@promster/types": "workspace:*",
|
|
55
55
|
"merge-options": "3.0.4",
|
|
56
|
-
semver: "7.
|
|
57
|
-
tslib: "2.
|
|
56
|
+
semver: "7.7.1",
|
|
57
|
+
tslib: "2.8.1"
|
|
58
58
|
},
|
|
59
59
|
devDependencies: {
|
|
60
60
|
"@hapi/boom": "10.0.1",
|
|
61
|
-
"@hapi/hapi": "21.
|
|
62
|
-
"@types/hapi__hapi": "20.0.13",
|
|
63
|
-
"parse-prometheus-text-format": "1.1.1",
|
|
61
|
+
"@hapi/hapi": "21.4.0",
|
|
64
62
|
"@promster/server": "workspace:*",
|
|
65
|
-
"@types/
|
|
63
|
+
"@types/hapi__hapi": "21.0.0",
|
|
64
|
+
"@types/semver": "7.7.0",
|
|
65
|
+
"parse-prometheus-text-format": "1.1.1"
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
68
|
|
|
69
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
|
70
|
-
|
|
71
69
|
const extractPath = request => request.route.path.replace(/\?/g, '');
|
|
72
70
|
const isBoomResponse = response => response.isBoom;
|
|
73
71
|
const extractStatusCode = request => {
|
|
@@ -89,17 +87,17 @@ const signalIsUp = () => {
|
|
|
89
87
|
if (!upMetric) {
|
|
90
88
|
return;
|
|
91
89
|
}
|
|
92
|
-
|
|
90
|
+
for (const upMetricType of upMetric) {
|
|
93
91
|
upMetricType.set(1);
|
|
94
|
-
}
|
|
92
|
+
}
|
|
95
93
|
};
|
|
96
94
|
const signalIsNotUp = () => {
|
|
97
95
|
if (!upMetric) {
|
|
98
96
|
return;
|
|
99
97
|
}
|
|
100
|
-
|
|
98
|
+
for (const upMetricType of upMetric) {
|
|
101
99
|
upMetricType.set(0);
|
|
102
|
-
}
|
|
100
|
+
}
|
|
103
101
|
};
|
|
104
102
|
const getAreServerEventsSupported = actualVersion => Boolean(actualVersion && semver__default["default"].satisfies(actualVersion, '>= 17.0.0'));
|
|
105
103
|
const getDoesResponseNeedInvocation = actualVersion => Boolean(actualVersion && semver__default["default"].satisfies(actualVersion, '< 17.0.0'));
|
|
@@ -145,14 +143,13 @@ const createPlugin = ({
|
|
|
145
143
|
req: request,
|
|
146
144
|
res: response
|
|
147
145
|
}),
|
|
148
|
-
// eslint-disable-next-line camelcase
|
|
149
146
|
status_code: allDefaultedOptions.normalizeStatusCode(extractStatusCode(request), {
|
|
150
147
|
req: request,
|
|
151
148
|
res: response
|
|
152
149
|
})
|
|
153
150
|
}, (_allDefaultedOptions$ = allDefaultedOptions.getLabelValues) === null || _allDefaultedOptions$ === void 0 ? void 0 : _allDefaultedOptions$.call(allDefaultedOptions, request, {}));
|
|
154
151
|
const requestContentLength = Number((_request$headers$cont = request === null || request === void 0 || (_request$headers = request.headers) === null || _request$headers === void 0 ? void 0 : _request$headers['content-length']) !== null && _request$headers$cont !== void 0 ? _request$headers$cont : 0);
|
|
155
|
-
const responseContentLength = Number(
|
|
152
|
+
const responseContentLength = Number(// @ts-expect-error
|
|
156
153
|
(_request$response$hea = request === null || request === void 0 || (_request$response = request.response) === null || _request$response === void 0 || (_request$response = _request$response.headers) === null || _request$response === void 0 ? void 0 : _request$response['content-length']) !== null && _request$response$hea !== void 0 ? _request$response$hea : 0);
|
|
157
154
|
const shouldSkipByRequest = (_allDefaultedOptions$2 = allDefaultedOptions.skip) === null || _allDefaultedOptions$2 === void 0 ? void 0 : _allDefaultedOptions$2.call(allDefaultedOptions, request, response, labels);
|
|
158
155
|
if (!shouldSkipByRequest && !shouldSkipMetricsByEnvironment) {
|
|
@@ -164,7 +161,9 @@ const createPlugin = ({
|
|
|
164
161
|
}
|
|
165
162
|
|
|
166
163
|
// @ts-expect-error - this is the older Hapi version
|
|
167
|
-
if (doesResponseNeedInvocation)
|
|
164
|
+
if (doesResponseNeedInvocation) {
|
|
165
|
+
response.continue();
|
|
166
|
+
}
|
|
168
167
|
};
|
|
169
168
|
|
|
170
169
|
// NOTE: This version detection allows us to gracefully support both new and old Hapi APIs.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promster/hapi",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "15.0.1",
|
|
4
4
|
"description": "Hapi server integrations of promster",
|
|
5
5
|
"main": "dist/promster-hapi.cjs.js",
|
|
6
6
|
"typings": "dist/promster-hapi.cjs.d.ts",
|
|
@@ -36,18 +36,18 @@
|
|
|
36
36
|
"prometheus"
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@promster/metrics": "^14.0.0",
|
|
40
|
-
"@promster/types": "^14.0.0",
|
|
41
39
|
"merge-options": "3.0.4",
|
|
42
|
-
"semver": "7.
|
|
43
|
-
"tslib": "2.
|
|
40
|
+
"semver": "7.7.1",
|
|
41
|
+
"tslib": "2.8.1",
|
|
42
|
+
"@promster/metrics": "15.0.1",
|
|
43
|
+
"@promster/types": "15.0.1"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@hapi/boom": "10.0.1",
|
|
47
|
-
"@hapi/hapi": "21.
|
|
48
|
-
"@types/hapi__hapi": "
|
|
47
|
+
"@hapi/hapi": "21.4.0",
|
|
48
|
+
"@types/hapi__hapi": "21.0.0",
|
|
49
|
+
"@types/semver": "7.7.0",
|
|
49
50
|
"parse-prometheus-text-format": "1.1.1",
|
|
50
|
-
"@
|
|
51
|
-
"@promster/server": "14.0.0"
|
|
51
|
+
"@promster/server": "15.0.1"
|
|
52
52
|
}
|
|
53
53
|
}
|