dowwntime 1.4.0 → 1.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/cli.mjs +14 -3
- package/dist/cli.mjs.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +14 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -42,7 +42,7 @@ type DowwntimeOptions = {
|
|
|
42
42
|
/** Function to get example values for parameters */
|
|
43
43
|
getExampleValue?: (paramName: string, path: string) => string | undefined;
|
|
44
44
|
/** Function to determine status based on response */
|
|
45
|
-
getStatus?: (statusCode: number, path: string, durationMs: number) => "up" | "down" | "degraded";
|
|
45
|
+
getStatus?: (statusCode: number, path: string, durationMs: number, body?: unknown) => "up" | "down" | "degraded";
|
|
46
46
|
/** Request timeout in milliseconds */
|
|
47
47
|
timeoutMs?: number;
|
|
48
48
|
/** Maximum storage space usage in bytes */
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/alert.ts","../src/index.ts"],"sourcesContent":[],"mappings":";KAEK,KAAA;EAAA,SAAK,EAAA,MAAA;EAOO,MAAA,EAAK,IAAA,GAAA,MAAA,GAAA,UAAA;EAEO,UAAA,EAAA,MAAA;EAAU,GAAA,EAAA,MAAA;CACR;AAAU,UAHxB,KAAA,CAGwB;EACN,IAAA,EAAA,MAAA;EAAU,IAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAFhB,KAEgB,EAAA,GAFN,OAEM,CAAA,IAAA,CAAA,GAAA,IAAA;EAAO,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EADrB,KACqB,EAAA,GADX,OACW,CAAA,IAAA,CAAA,GAAA,IAAA;EAGvC,UAAA,EAAA,CAAA,IAAa,EAAA,MAAA,EAAA,KAAA,EAHS,KAGT,EAAA,GAHmB,OAGnB,CAAA,IAAA,CAAA,GAAA,IAAA;;AAGe,cAH5B,YAAA,YAAwB,KAGI,CAAA;EAKN,IAAA,EAAA,MAAA;EAAQ,IAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EALV,KAKU,CAAA,EALF,OAKE,CAAA,IAAA,CAAA;EAOJ,MAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAPJ,KAOI,CAAA,EAPI,OAOJ,CAAA,IAAA,CAAA;EAAQ,UAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAR,KAAQ,CAAA,EAAA,OAAA,CAAA,IAAA,CAAA;;AAfL,cAuB7B,UAAA,YAAsB,KAvBO,CAAA;EAuB7B,IAAA,EAAA,MAAA;EAwBoB,QAAA,OAAA;EAAQ,WAAA,CAAA,UAAA,EAAA,MAAA;EAON,QAAA,gBAAA;EAAQ,IAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAPV,KAOU,CAAA,EAPF,OAOE,CAAA,IAAA,CAAA;EAOJ,MAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAPJ,KAOI,CAAA,EAPI,OAOJ,CAAA,IAAA,CAAA;EAAQ,UAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAR,KAAQ,CAAA,EAAA,OAAA,CAAA,IAAA,CAAA;;;;AA3E1C,KCaO,gBAAA,GDbF;EAOO;EAEY,cAAA,EAAA,MAAA;EAAU;EACR,WAAA,EAAA,MAAA;EAAU;EACN,WAAA,CAAA,EAAA,MAAA;EAAU;EAAO,OAAA,CAAA,EAAA,MAAA;EAGvC;EAGoB,OAAA,CAAA,EAAA,MAAA;EAAQ;EAKN,eAAA,CAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA,GAAA,SAAA;EAAQ;EAOJ,SAAA,CAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,GAAA,IAAA,GAAA,MAAA,GAAA,UAAA;EAAQ;EAfV,SAAA,CAAA,EAAA,MAAA;EAAK;EAuB7B,kBAAW,CAAA,EAAA,MAAA;EAwBS;EAAQ,MAAA,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/alert.ts","../src/index.ts"],"sourcesContent":[],"mappings":";KAEK,KAAA;EAAA,SAAK,EAAA,MAAA;EAOO,MAAA,EAAK,IAAA,GAAA,MAAA,GAAA,UAAA;EAEO,UAAA,EAAA,MAAA;EAAU,GAAA,EAAA,MAAA;CACR;AAAU,UAHxB,KAAA,CAGwB;EACN,IAAA,EAAA,MAAA;EAAU,IAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAFhB,KAEgB,EAAA,GAFN,OAEM,CAAA,IAAA,CAAA,GAAA,IAAA;EAAO,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EADrB,KACqB,EAAA,GADX,OACW,CAAA,IAAA,CAAA,GAAA,IAAA;EAGvC,UAAA,EAAA,CAAA,IAAa,EAAA,MAAA,EAAA,KAAA,EAHS,KAGT,EAAA,GAHmB,OAGnB,CAAA,IAAA,CAAA,GAAA,IAAA;;AAGe,cAH5B,YAAA,YAAwB,KAGI,CAAA;EAKN,IAAA,EAAA,MAAA;EAAQ,IAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EALV,KAKU,CAAA,EALF,OAKE,CAAA,IAAA,CAAA;EAOJ,MAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAPJ,KAOI,CAAA,EAPI,OAOJ,CAAA,IAAA,CAAA;EAAQ,UAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAR,KAAQ,CAAA,EAAA,OAAA,CAAA,IAAA,CAAA;;AAfL,cAuB7B,UAAA,YAAsB,KAvBO,CAAA;EAuB7B,IAAA,EAAA,MAAA;EAwBoB,QAAA,OAAA;EAAQ,WAAA,CAAA,UAAA,EAAA,MAAA;EAON,QAAA,gBAAA;EAAQ,IAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAPV,KAOU,CAAA,EAPF,OAOE,CAAA,IAAA,CAAA;EAOJ,MAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAPJ,KAOI,CAAA,EAPI,OAOJ,CAAA,IAAA,CAAA;EAAQ,UAAA,CAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAR,KAAQ,CAAA,EAAA,OAAA,CAAA,IAAA,CAAA;;;;AA3E1C,KCaO,gBAAA,GDbF;EAOO;EAEY,cAAA,EAAA,MAAA;EAAU;EACR,WAAA,EAAA,MAAA;EAAU;EACN,WAAA,CAAA,EAAA,MAAA;EAAU;EAAO,OAAA,CAAA,EAAA,MAAA;EAGvC;EAGoB,OAAA,CAAA,EAAA,MAAA;EAAQ;EAKN,eAAA,CAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,MAAA,GAAA,SAAA;EAAQ;EAOJ,SAAA,CAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,IAAA,CAAA,EAAA,OAAA,EAAA,GAAA,IAAA,GAAA,MAAA,GAAA,UAAA;EAAQ;EAfV,SAAA,CAAA,EAAA,MAAA;EAAK;EAuB7B,kBAAW,CAAA,EAAA,MAAA;EAwBS;EAAQ,MAAA,ECvBhC,KDuBgC,EAAA;CAON;AAAQ,cC3B9B,YD2B8B,EAAA,CAAA,OAAA,EC3BL,gBD2BK,EAAA,GC3BW,gBD2BX;AAOJ,cC9B1B,GD8B0B,EAAA,CAAA,OAAA,EC9BJ,UD8BI,CAAA,OC9Bc,YD8Bd,CAAA,EAAA,GC9B2B,OD8B3B,CAAA,IAAA,CAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -14888,14 +14888,23 @@ const measureRequest = async (url$2, options) => {
|
|
|
14888
14888
|
let tlsHandshakeAt;
|
|
14889
14889
|
let firstByteAt;
|
|
14890
14890
|
const req = ((typeof url$2 === "string" ? new URL(url$2) : url$2).protocol === "https:" ? https : http).request(url$2, options, (res) => {
|
|
14891
|
-
|
|
14891
|
+
const chunks = [];
|
|
14892
|
+
res.on("data", (chunk) => {
|
|
14892
14893
|
if (!firstByteAt) firstByteAt = Date.now();
|
|
14894
|
+
chunks.push(chunk);
|
|
14893
14895
|
});
|
|
14894
14896
|
res.on("end", () => {
|
|
14895
14897
|
const durationMs = (firstByteAt ? firstByteAt - startAt : 0) - (tlsHandshakeAt ? tlsHandshakeAt - startAt : 0);
|
|
14898
|
+
let body;
|
|
14899
|
+
try {
|
|
14900
|
+
body = JSON.parse(Buffer.concat(chunks).toString());
|
|
14901
|
+
} catch {
|
|
14902
|
+
body = void 0;
|
|
14903
|
+
}
|
|
14896
14904
|
resolve$1({
|
|
14897
14905
|
statusCode: res.statusCode || 0,
|
|
14898
|
-
durationMs: Math.max(0, durationMs)
|
|
14906
|
+
durationMs: Math.max(0, durationMs),
|
|
14907
|
+
body
|
|
14899
14908
|
});
|
|
14900
14909
|
});
|
|
14901
14910
|
});
|
|
@@ -28412,6 +28421,7 @@ const run = async (options) => {
|
|
|
28412
28421
|
return {
|
|
28413
28422
|
statusCode: 0,
|
|
28414
28423
|
durationMs: Date.now() - start,
|
|
28424
|
+
body: void 0,
|
|
28415
28425
|
url: url$2.toString(),
|
|
28416
28426
|
timestamp: start
|
|
28417
28427
|
};
|
|
@@ -28426,7 +28436,8 @@ const run = async (options) => {
|
|
|
28426
28436
|
const durationMs = Math.round(results.reduce((acc, curr) => acc + (curr?.durationMs ?? 0), 0) / results.length);
|
|
28427
28437
|
let status = "down";
|
|
28428
28438
|
const statusCode = Math.max(...results.map((r) => r?.statusCode ?? 0));
|
|
28429
|
-
|
|
28439
|
+
const lastBody = results.findLast((r) => r?.body !== void 0)?.body;
|
|
28440
|
+
if (options.getStatus) status = options.getStatus(statusCode, path$2, durationMs, lastBody);
|
|
28430
28441
|
else status = statusCode >= 200 && statusCode < 300 ? "up" : "down";
|
|
28431
28442
|
const measurement = {
|
|
28432
28443
|
status,
|