@wener/utils 1.1.14 → 1.1.15
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/cjs/{globalThis-ee7c1669.js → getGlobalThis-304f74e0.js} +2 -2
- package/dist/cjs/getGlobalThis-304f74e0.js.map +1 -0
- package/dist/cjs/index.cjs +16 -5
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/server.cjs +1 -1
- package/dist/cjs/server.cjs.map +1 -1
- package/dist/esm/{globalThis-000611c3.js → getGlobalThis-b7ad0cf9.js} +2 -2
- package/dist/esm/getGlobalThis-b7ad0cf9.js.map +1 -0
- package/dist/esm/index.js +15 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/server.js +1 -1
- package/dist/esm/server.js.map +1 -1
- package/dist/system/getGlobalThis-8951eb0e.js +2 -0
- package/dist/system/getGlobalThis-8951eb0e.js.map +1 -0
- package/dist/system/index.js +16 -5
- package/dist/system/index.js.map +1 -1
- package/dist/system/server.js +1 -1
- package/dist/system/server.js.map +1 -1
- package/lib/asyncs/timeout.js.map +1 -1
- package/lib/browsers/download.js.map +1 -1
- package/lib/browsers/loaders.js.map +1 -1
- package/lib/crypto/getRandomValues.js +2 -1
- package/lib/crypto/getRandomValues.js.map +1 -1
- package/lib/crypto/randomUUID.js +2 -1
- package/lib/crypto/randomUUID.js.map +1 -1
- package/lib/fetch/createFetchWith.js +25 -0
- package/lib/fetch/createFetchWith.js.map +1 -0
- package/lib/fetch/createFetchWithLogging.js +21 -0
- package/lib/fetch/createFetchWithLogging.js.map +1 -0
- package/lib/fetch/dumpRequest.js +46 -0
- package/lib/fetch/dumpRequest.js.map +1 -0
- package/lib/fetch/dumpResponse.js +23 -0
- package/lib/fetch/dumpResponse.js.map +1 -0
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/io/ArrayBuffers.js +2 -2
- package/lib/io/ArrayBuffers.js.map +1 -1
- package/lib/io/isTransferable.js +2 -1
- package/lib/io/isTransferable.js.map +1 -1
- package/lib/isomorphics/structuredClone.js +2 -1
- package/lib/isomorphics/structuredClone.js.map +1 -1
- package/lib/logging/createLogger.js.map +1 -1
- package/lib/objects/get.js.map +1 -1
- package/lib/objects/set.js.map +1 -1
- package/lib/servers/createFetchWithProxy.js +0 -1
- package/lib/servers/createFetchWithProxy.js.map +1 -1
- package/lib/servers/createFetchWithProxyByNodeFetch.js +2 -1
- package/lib/servers/createFetchWithProxyByNodeFetch.js.map +1 -1
- package/lib/servers/polyfillCrypto.js +2 -1
- package/lib/servers/polyfillCrypto.js.map +1 -1
- package/lib/servers/polyfillJsDom.js +2 -1
- package/lib/servers/polyfillJsDom.js.map +1 -1
- package/package.json +37 -35
- package/src/asyncs/timeout.ts +3 -1
- package/src/browsers/download.ts +3 -1
- package/src/browsers/loaders.ts +6 -2
- package/src/crypto/getRandomValues.ts +2 -1
- package/src/crypto/randomUUID.ts +3 -1
- package/src/fetch/createFetchWith.ts +32 -0
- package/src/fetch/createFetchWithLogging.ts +20 -0
- package/src/fetch/dumpRequest.ts +51 -0
- package/src/fetch/dumpResponse.ts +28 -0
- package/src/fetch/index.ts +4 -0
- package/src/index.ts +4 -2
- package/src/io/ArrayBuffers.ts +2 -2
- package/src/io/isTransferable.ts +3 -1
- package/src/isomorphics/structuredClone.ts +3 -1
- package/src/logging/createLogger.ts +15 -5
- package/src/objects/get.ts +1 -1
- package/src/objects/set.ts +1 -1
- package/src/servers/createFetchWithProxyByNodeFetch.ts +3 -2
- package/src/servers/polyfillCrypto.ts +2 -1
- package/src/servers/polyfillJsDom.ts +3 -1
- package/src/servers/polyfillWebSocket.ts +2 -1
- package/dist/cjs/globalThis-ee7c1669.js.map +0 -1
- package/dist/esm/globalThis-000611c3.js.map +0 -1
- package/dist/system/globalThis-7bba6592.js +0 -2
- package/dist/system/globalThis-7bba6592.js.map +0 -1
- package/lib/isomorphics/globalThis.js +0 -6
- package/lib/isomorphics/globalThis.js.map +0 -1
- package/src/isomorphics/globalThis.ts +0 -3
- package/src/servers/createFetchWithLogger.ts +0 -75
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { FetchLike } from '../fetch';
|
|
2
|
-
|
|
3
|
-
export function createFetchWithLogger({
|
|
4
|
-
fetch = globalThis.fetch,
|
|
5
|
-
logger = console.log,
|
|
6
|
-
}: {
|
|
7
|
-
fetch?: FetchLike;
|
|
8
|
-
logger?: (s: string) => void;
|
|
9
|
-
} = {}): FetchLike {
|
|
10
|
-
return async (...args) => {
|
|
11
|
-
const [, init = { method: 'GET', headers: {} } as RequestInit] = args;
|
|
12
|
-
const url = typeof args[0] === 'string' ? args[0] : args[0].url;
|
|
13
|
-
|
|
14
|
-
let dumpRequest = `-> ${init.method} ${url}
|
|
15
|
-
${Array.from(new Headers(init.headers).entries())
|
|
16
|
-
.map(([k, v]) => `${k}: ${v}`)
|
|
17
|
-
.join('\n')}
|
|
18
|
-
`;
|
|
19
|
-
|
|
20
|
-
if (init.body) {
|
|
21
|
-
if (init.body instanceof ReadableStream) {
|
|
22
|
-
const [a, b] = init.body.tee();
|
|
23
|
-
init.body = a;
|
|
24
|
-
const signal = init.signal;
|
|
25
|
-
Promise.resolve().then(async () => {
|
|
26
|
-
const reader = b.getReader();
|
|
27
|
-
logger(dumpRequest);
|
|
28
|
-
while (true) {
|
|
29
|
-
if (signal?.aborted) {
|
|
30
|
-
break;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
let { done, value } = await reader.read();
|
|
34
|
-
value instanceof Uint8Array && (value = new TextDecoder().decode(value));
|
|
35
|
-
dumpRequest += value;
|
|
36
|
-
logger(value);
|
|
37
|
-
if (!done) {
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
// maybe for archive
|
|
42
|
-
dumpRequest += `\n`;
|
|
43
|
-
});
|
|
44
|
-
} else {
|
|
45
|
-
dumpRequest += `
|
|
46
|
-
${init.body}
|
|
47
|
-
`;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
console.log(dumpRequest);
|
|
51
|
-
|
|
52
|
-
try {
|
|
53
|
-
let res = await fetch(...args);
|
|
54
|
-
let dumpResponse = `<- ${res.status} ${res.statusText} ${init.method} ${url}
|
|
55
|
-
${Array.from(res.headers.entries())
|
|
56
|
-
.map(([k, v]) => `${k}: ${v}`)
|
|
57
|
-
.join('\n')}
|
|
58
|
-
`;
|
|
59
|
-
let contentType = res.headers.get('content-type');
|
|
60
|
-
// text/event-stream
|
|
61
|
-
if (contentType?.includes('application/json') || contentType?.includes('text/plain')) {
|
|
62
|
-
const body = await res.text();
|
|
63
|
-
dumpResponse += `\n${body}\n`;
|
|
64
|
-
res = new Response(body, res);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
logger(dumpResponse);
|
|
68
|
-
|
|
69
|
-
return res;
|
|
70
|
-
} catch (e) {
|
|
71
|
-
console.error(`[Error] -> ${init.method} ${url} :${e}`);
|
|
72
|
-
throw e;
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
}
|