apitally 0.21.4 → 0.21.5
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/common/response.cjs
CHANGED
|
@@ -33,14 +33,17 @@ async function measureResponseSize(response, tee = true) {
|
|
|
33
33
|
];
|
|
34
34
|
let size = 0;
|
|
35
35
|
if (newResponse2.body) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
try {
|
|
37
|
+
let done = false;
|
|
38
|
+
const reader = newResponse2.body.getReader();
|
|
39
|
+
while (!done) {
|
|
40
|
+
const result = await reader.read();
|
|
41
|
+
done = result.done;
|
|
42
|
+
if (!done && result.value) {
|
|
43
|
+
size += result.value.byteLength;
|
|
44
|
+
}
|
|
43
45
|
}
|
|
46
|
+
} catch (error) {
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
49
|
return [
|
|
@@ -54,22 +57,36 @@ async function getResponseBody(response, tee = true) {
|
|
|
54
57
|
response,
|
|
55
58
|
response
|
|
56
59
|
];
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
try {
|
|
61
|
+
const responseBuffer = Buffer.from(await newResponse2.arrayBuffer());
|
|
62
|
+
return [
|
|
63
|
+
responseBuffer,
|
|
64
|
+
newResponse1
|
|
65
|
+
];
|
|
66
|
+
} catch (error) {
|
|
67
|
+
return [
|
|
68
|
+
Buffer.from([]),
|
|
69
|
+
newResponse1
|
|
70
|
+
];
|
|
71
|
+
}
|
|
62
72
|
}
|
|
63
73
|
__name(getResponseBody, "getResponseBody");
|
|
64
74
|
async function getResponseJson(response) {
|
|
65
75
|
const contentType = response.headers.get("content-type");
|
|
66
76
|
if (contentType == null ? void 0 : contentType.includes("application/json")) {
|
|
67
77
|
const [newResponse1, newResponse2] = teeResponse(response);
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
78
|
+
try {
|
|
79
|
+
const responseJson = await newResponse2.json();
|
|
80
|
+
return [
|
|
81
|
+
responseJson,
|
|
82
|
+
newResponse1
|
|
83
|
+
];
|
|
84
|
+
} catch (error) {
|
|
85
|
+
return [
|
|
86
|
+
null,
|
|
87
|
+
newResponse1
|
|
88
|
+
];
|
|
89
|
+
}
|
|
73
90
|
}
|
|
74
91
|
return [
|
|
75
92
|
null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/common/response.ts"],"sourcesContent":["export async function measureResponseSize(\n response: Response,\n tee: boolean = true,\n): Promise<[number, Response]> {\n const [newResponse1, newResponse2] = tee\n ? teeResponse(response)\n : [response, response];\n let size = 0;\n if (newResponse2.body) {\n let done = false;\n
|
|
1
|
+
{"version":3,"sources":["../../src/common/response.ts"],"sourcesContent":["export async function measureResponseSize(\n response: Response,\n tee: boolean = true,\n): Promise<[number, Response]> {\n const [newResponse1, newResponse2] = tee\n ? teeResponse(response)\n : [response, response];\n let size = 0;\n if (newResponse2.body) {\n try {\n let done = false;\n const reader = newResponse2.body.getReader();\n while (!done) {\n const result = await reader.read();\n done = result.done;\n if (!done && result.value) {\n size += result.value.byteLength;\n }\n }\n } catch (error) {\n // ignore\n }\n }\n return [size, newResponse1];\n}\n\nexport async function getResponseBody(\n response: Response,\n tee: boolean = true,\n): Promise<[Buffer, Response]> {\n const [newResponse1, newResponse2] = tee\n ? teeResponse(response)\n : [response, response];\n try {\n const responseBuffer = Buffer.from(await newResponse2.arrayBuffer());\n return [responseBuffer, newResponse1];\n } catch (error) {\n return [Buffer.from([]), newResponse1];\n }\n}\n\nexport async function getResponseJson(\n response: Response,\n): Promise<[any, Response]> {\n const contentType = response.headers.get(\"content-type\");\n if (contentType?.includes(\"application/json\")) {\n const [newResponse1, newResponse2] = teeResponse(response);\n try {\n const responseJson = await newResponse2.json();\n return [responseJson, newResponse1];\n } catch (error) {\n return [null, newResponse1];\n }\n }\n return [null, response];\n}\n\nexport function teeResponse(response: Response): [Response, Response] {\n if (!response.body) {\n return [response, response];\n }\n const [stream1, stream2] = response.body.tee();\n const newResponse1 = new Response(stream1, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n });\n const newResponse2 = new Response(stream2, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n });\n return [newResponse1, newResponse2];\n}\n\nexport function teeResponseBlob(\n response: Response,\n blob: string | Blob,\n): [Response, Response] {\n const newResponse1 = new Response(blob, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n });\n const newResponse2 = new Response(blob, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n });\n return [newResponse1, newResponse2];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;AAAA,eAAsBA,oBACpBC,UACAC,MAAe,MAAI;AAEnB,QAAM,CAACC,cAAcC,YAAAA,IAAgBF,MACjCG,YAAYJ,QAAAA,IACZ;IAACA;IAAUA;;AACf,MAAIK,OAAO;AACX,MAAIF,aAAaG,MAAM;AACrB,QAAI;AACF,UAAIC,OAAO;AACX,YAAMC,SAASL,aAAaG,KAAKG,UAAS;AAC1C,aAAO,CAACF,MAAM;AACZ,cAAMG,SAAS,MAAMF,OAAOG,KAAI;AAChCJ,eAAOG,OAAOH;AACd,YAAI,CAACA,QAAQG,OAAOE,OAAO;AACzBP,kBAAQK,OAAOE,MAAMC;QACvB;MACF;IACF,SAASC,OAAO;IAEhB;EACF;AACA,SAAO;IAACT;IAAMH;;AAChB;AAxBsBH;AA0BtB,eAAsBgB,gBACpBf,UACAC,MAAe,MAAI;AAEnB,QAAM,CAACC,cAAcC,YAAAA,IAAgBF,MACjCG,YAAYJ,QAAAA,IACZ;IAACA;IAAUA;;AACf,MAAI;AACF,UAAMgB,iBAAiBC,OAAOC,KAAK,MAAMf,aAAagB,YAAW,CAAA;AACjE,WAAO;MAACH;MAAgBd;;EAC1B,SAASY,OAAO;AACd,WAAO;MAACG,OAAOC,KAAK,CAAA,CAAE;MAAGhB;;EAC3B;AACF;AAbsBa;AAetB,eAAsBK,gBACpBpB,UAAkB;AAElB,QAAMqB,cAAcrB,SAASsB,QAAQC,IAAI,cAAA;AACzC,MAAIF,2CAAaG,SAAS,qBAAqB;AAC7C,UAAM,CAACtB,cAAcC,YAAAA,IAAgBC,YAAYJ,QAAAA;AACjD,QAAI;AACF,YAAMyB,eAAe,MAAMtB,aAAauB,KAAI;AAC5C,aAAO;QAACD;QAAcvB;;IACxB,SAASY,OAAO;AACd,aAAO;QAAC;QAAMZ;;IAChB;EACF;AACA,SAAO;IAAC;IAAMF;;AAChB;AAdsBoB;AAgBf,SAAShB,YAAYJ,UAAkB;AAC5C,MAAI,CAACA,SAASM,MAAM;AAClB,WAAO;MAACN;MAAUA;;EACpB;AACA,QAAM,CAAC2B,SAASC,OAAAA,IAAW5B,SAASM,KAAKL,IAAG;AAC5C,QAAMC,eAAe,IAAI2B,SAASF,SAAS;IACzCG,QAAQ9B,SAAS8B;IACjBC,YAAY/B,SAAS+B;IACrBT,SAAStB,SAASsB;EACpB,CAAA;AACA,QAAMnB,eAAe,IAAI0B,SAASD,SAAS;IACzCE,QAAQ9B,SAAS8B;IACjBC,YAAY/B,SAAS+B;IACrBT,SAAStB,SAASsB;EACpB,CAAA;AACA,SAAO;IAACpB;IAAcC;;AACxB;AAhBgBC;AAkBT,SAAS4B,gBACdhC,UACAiC,MAAmB;AAEnB,QAAM/B,eAAe,IAAI2B,SAASI,MAAM;IACtCH,QAAQ9B,SAAS8B;IACjBC,YAAY/B,SAAS+B;IACrBT,SAAStB,SAASsB;EACpB,CAAA;AACA,QAAMnB,eAAe,IAAI0B,SAASI,MAAM;IACtCH,QAAQ9B,SAAS8B;IACjBC,YAAY/B,SAAS+B;IACrBT,SAAStB,SAASsB;EACpB,CAAA;AACA,SAAO;IAACpB;IAAcC;;AACxB;AAfgB6B;","names":["measureResponseSize","response","tee","newResponse1","newResponse2","teeResponse","size","body","done","reader","getReader","result","read","value","byteLength","error","getResponseBody","responseBuffer","Buffer","from","arrayBuffer","getResponseJson","contentType","headers","get","includes","responseJson","json","stream1","stream2","Response","status","statusText","teeResponseBlob","blob"]}
|
package/dist/common/response.js
CHANGED
|
@@ -7,14 +7,17 @@ async function measureResponseSize(response, tee = true) {
|
|
|
7
7
|
];
|
|
8
8
|
let size = 0;
|
|
9
9
|
if (newResponse2.body) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
try {
|
|
11
|
+
let done = false;
|
|
12
|
+
const reader = newResponse2.body.getReader();
|
|
13
|
+
while (!done) {
|
|
14
|
+
const result = await reader.read();
|
|
15
|
+
done = result.done;
|
|
16
|
+
if (!done && result.value) {
|
|
17
|
+
size += result.value.byteLength;
|
|
18
|
+
}
|
|
17
19
|
}
|
|
20
|
+
} catch (error) {
|
|
18
21
|
}
|
|
19
22
|
}
|
|
20
23
|
return [
|
|
@@ -28,22 +31,36 @@ async function getResponseBody(response, tee = true) {
|
|
|
28
31
|
response,
|
|
29
32
|
response
|
|
30
33
|
];
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
try {
|
|
35
|
+
const responseBuffer = Buffer.from(await newResponse2.arrayBuffer());
|
|
36
|
+
return [
|
|
37
|
+
responseBuffer,
|
|
38
|
+
newResponse1
|
|
39
|
+
];
|
|
40
|
+
} catch (error) {
|
|
41
|
+
return [
|
|
42
|
+
Buffer.from([]),
|
|
43
|
+
newResponse1
|
|
44
|
+
];
|
|
45
|
+
}
|
|
36
46
|
}
|
|
37
47
|
__name(getResponseBody, "getResponseBody");
|
|
38
48
|
async function getResponseJson(response) {
|
|
39
49
|
const contentType = response.headers.get("content-type");
|
|
40
50
|
if (contentType == null ? void 0 : contentType.includes("application/json")) {
|
|
41
51
|
const [newResponse1, newResponse2] = teeResponse(response);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
52
|
+
try {
|
|
53
|
+
const responseJson = await newResponse2.json();
|
|
54
|
+
return [
|
|
55
|
+
responseJson,
|
|
56
|
+
newResponse1
|
|
57
|
+
];
|
|
58
|
+
} catch (error) {
|
|
59
|
+
return [
|
|
60
|
+
null,
|
|
61
|
+
newResponse1
|
|
62
|
+
];
|
|
63
|
+
}
|
|
47
64
|
}
|
|
48
65
|
return [
|
|
49
66
|
null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/common/response.ts"],"sourcesContent":["export async function measureResponseSize(\n response: Response,\n tee: boolean = true,\n): Promise<[number, Response]> {\n const [newResponse1, newResponse2] = tee\n ? teeResponse(response)\n : [response, response];\n let size = 0;\n if (newResponse2.body) {\n let done = false;\n
|
|
1
|
+
{"version":3,"sources":["../../src/common/response.ts"],"sourcesContent":["export async function measureResponseSize(\n response: Response,\n tee: boolean = true,\n): Promise<[number, Response]> {\n const [newResponse1, newResponse2] = tee\n ? teeResponse(response)\n : [response, response];\n let size = 0;\n if (newResponse2.body) {\n try {\n let done = false;\n const reader = newResponse2.body.getReader();\n while (!done) {\n const result = await reader.read();\n done = result.done;\n if (!done && result.value) {\n size += result.value.byteLength;\n }\n }\n } catch (error) {\n // ignore\n }\n }\n return [size, newResponse1];\n}\n\nexport async function getResponseBody(\n response: Response,\n tee: boolean = true,\n): Promise<[Buffer, Response]> {\n const [newResponse1, newResponse2] = tee\n ? teeResponse(response)\n : [response, response];\n try {\n const responseBuffer = Buffer.from(await newResponse2.arrayBuffer());\n return [responseBuffer, newResponse1];\n } catch (error) {\n return [Buffer.from([]), newResponse1];\n }\n}\n\nexport async function getResponseJson(\n response: Response,\n): Promise<[any, Response]> {\n const contentType = response.headers.get(\"content-type\");\n if (contentType?.includes(\"application/json\")) {\n const [newResponse1, newResponse2] = teeResponse(response);\n try {\n const responseJson = await newResponse2.json();\n return [responseJson, newResponse1];\n } catch (error) {\n return [null, newResponse1];\n }\n }\n return [null, response];\n}\n\nexport function teeResponse(response: Response): [Response, Response] {\n if (!response.body) {\n return [response, response];\n }\n const [stream1, stream2] = response.body.tee();\n const newResponse1 = new Response(stream1, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n });\n const newResponse2 = new Response(stream2, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n });\n return [newResponse1, newResponse2];\n}\n\nexport function teeResponseBlob(\n response: Response,\n blob: string | Blob,\n): [Response, Response] {\n const newResponse1 = new Response(blob, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n });\n const newResponse2 = new Response(blob, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n });\n return [newResponse1, newResponse2];\n}\n"],"mappings":";;AAAA,eAAsBA,oBACpBC,UACAC,MAAe,MAAI;AAEnB,QAAM,CAACC,cAAcC,YAAAA,IAAgBF,MACjCG,YAAYJ,QAAAA,IACZ;IAACA;IAAUA;;AACf,MAAIK,OAAO;AACX,MAAIF,aAAaG,MAAM;AACrB,QAAI;AACF,UAAIC,OAAO;AACX,YAAMC,SAASL,aAAaG,KAAKG,UAAS;AAC1C,aAAO,CAACF,MAAM;AACZ,cAAMG,SAAS,MAAMF,OAAOG,KAAI;AAChCJ,eAAOG,OAAOH;AACd,YAAI,CAACA,QAAQG,OAAOE,OAAO;AACzBP,kBAAQK,OAAOE,MAAMC;QACvB;MACF;IACF,SAASC,OAAO;IAEhB;EACF;AACA,SAAO;IAACT;IAAMH;;AAChB;AAxBsBH;AA0BtB,eAAsBgB,gBACpBf,UACAC,MAAe,MAAI;AAEnB,QAAM,CAACC,cAAcC,YAAAA,IAAgBF,MACjCG,YAAYJ,QAAAA,IACZ;IAACA;IAAUA;;AACf,MAAI;AACF,UAAMgB,iBAAiBC,OAAOC,KAAK,MAAMf,aAAagB,YAAW,CAAA;AACjE,WAAO;MAACH;MAAgBd;;EAC1B,SAASY,OAAO;AACd,WAAO;MAACG,OAAOC,KAAK,CAAA,CAAE;MAAGhB;;EAC3B;AACF;AAbsBa;AAetB,eAAsBK,gBACpBpB,UAAkB;AAElB,QAAMqB,cAAcrB,SAASsB,QAAQC,IAAI,cAAA;AACzC,MAAIF,2CAAaG,SAAS,qBAAqB;AAC7C,UAAM,CAACtB,cAAcC,YAAAA,IAAgBC,YAAYJ,QAAAA;AACjD,QAAI;AACF,YAAMyB,eAAe,MAAMtB,aAAauB,KAAI;AAC5C,aAAO;QAACD;QAAcvB;;IACxB,SAASY,OAAO;AACd,aAAO;QAAC;QAAMZ;;IAChB;EACF;AACA,SAAO;IAAC;IAAMF;;AAChB;AAdsBoB;AAgBf,SAAShB,YAAYJ,UAAkB;AAC5C,MAAI,CAACA,SAASM,MAAM;AAClB,WAAO;MAACN;MAAUA;;EACpB;AACA,QAAM,CAAC2B,SAASC,OAAAA,IAAW5B,SAASM,KAAKL,IAAG;AAC5C,QAAMC,eAAe,IAAI2B,SAASF,SAAS;IACzCG,QAAQ9B,SAAS8B;IACjBC,YAAY/B,SAAS+B;IACrBT,SAAStB,SAASsB;EACpB,CAAA;AACA,QAAMnB,eAAe,IAAI0B,SAASD,SAAS;IACzCE,QAAQ9B,SAAS8B;IACjBC,YAAY/B,SAAS+B;IACrBT,SAAStB,SAASsB;EACpB,CAAA;AACA,SAAO;IAACpB;IAAcC;;AACxB;AAhBgBC;AAkBT,SAAS4B,gBACdhC,UACAiC,MAAmB;AAEnB,QAAM/B,eAAe,IAAI2B,SAASI,MAAM;IACtCH,QAAQ9B,SAAS8B;IACjBC,YAAY/B,SAAS+B;IACrBT,SAAStB,SAASsB;EACpB,CAAA;AACA,QAAMnB,eAAe,IAAI0B,SAASI,MAAM;IACtCH,QAAQ9B,SAAS8B;IACjBC,YAAY/B,SAAS+B;IACrBT,SAAStB,SAASsB;EACpB,CAAA;AACA,SAAO;IAACpB;IAAcC;;AACxB;AAfgB6B;","names":["measureResponseSize","response","tee","newResponse1","newResponse2","teeResponse","size","body","done","reader","getReader","result","read","value","byteLength","error","getResponseBody","responseBuffer","Buffer","from","arrayBuffer","getResponseJson","contentType","headers","get","includes","responseJson","json","stream1","stream2","Response","status","statusText","teeResponseBlob","blob"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apitally",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.5",
|
|
4
4
|
"description": "Simple API monitoring & analytics for REST APIs built with Express, Fastify, NestJS, AdonisJS, Hono, H3, Elysia, Hapi, and Koa.",
|
|
5
5
|
"author": "Apitally <hello@apitally.io>",
|
|
6
6
|
"license": "MIT",
|