cantian-request 0.0.12 → 0.0.13
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/sse.d.ts +4 -1
- package/dist/sse.js +14 -12
- package/dist/sse.js.map +1 -1
- package/package.json +1 -1
package/dist/sse.d.ts
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import { EventSourceMessage } from 'eventsource-parser';
|
|
2
|
-
export
|
|
2
|
+
export interface SseExtOptions {
|
|
3
|
+
idleTimeoutMs?: number;
|
|
4
|
+
}
|
|
5
|
+
export declare const sse: (input: string | URL | globalThis.Request, init?: RequestInit, extOptions?: SseExtOptions) => AsyncGenerator<EventSourceMessage | undefined, void, unknown>;
|
package/dist/sse.js
CHANGED
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
import { createParser } from 'eventsource-parser';
|
|
2
2
|
import { createThrowHttpErrorFetch } from './basic.js';
|
|
3
|
-
const SSE_IDLE_TIMEOUT_MS = 30000;
|
|
4
|
-
const SSE_HEADERS_TIMEOUT_MS = 30000;
|
|
5
3
|
const basicSse = createThrowHttpErrorFetch();
|
|
6
|
-
const
|
|
4
|
+
const withTimeoutInit = (init, timeoutSignal) => {
|
|
7
5
|
return {
|
|
8
6
|
...init,
|
|
9
7
|
signal: init?.signal ? AbortSignal.any([init.signal, timeoutSignal]) : timeoutSignal,
|
|
10
8
|
};
|
|
11
9
|
};
|
|
12
|
-
export const sse = async function* (input, init) {
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
export const sse = async function* (input, init, extOptions) {
|
|
11
|
+
const idleTimeoutMs = extOptions?.idleTimeoutMs ?? 300000;
|
|
12
|
+
const connectTimeoutController = new AbortController();
|
|
13
|
+
const connectTimeoutId = setTimeout(() => {
|
|
14
|
+
connectTimeoutController.abort(new Error(`SSE idle timeout while waiting for response (${idleTimeoutMs}ms)`));
|
|
15
|
+
}, idleTimeoutMs);
|
|
17
16
|
let response;
|
|
18
17
|
try {
|
|
19
|
-
response = await basicSse(input,
|
|
18
|
+
response = await basicSse(input, withTimeoutInit(init, connectTimeoutController.signal));
|
|
20
19
|
}
|
|
21
20
|
finally {
|
|
22
|
-
clearTimeout(
|
|
21
|
+
clearTimeout(connectTimeoutId);
|
|
23
22
|
}
|
|
24
23
|
if (!response.body) {
|
|
25
24
|
console.error(`FETCH_ERROR_NO_BODY`);
|
|
@@ -29,9 +28,9 @@ export const sse = async function* (input, init) {
|
|
|
29
28
|
let idleError;
|
|
30
29
|
let readStartedAt;
|
|
31
30
|
const idleCheckId = setInterval(() => {
|
|
32
|
-
if (!idleError && readStartedAt && Date.now() - readStartedAt >=
|
|
31
|
+
if (!idleError && readStartedAt && Date.now() - readStartedAt >= idleTimeoutMs) {
|
|
33
32
|
const idleMs = Date.now() - readStartedAt;
|
|
34
|
-
idleError = new Error(`SSE idle timeout while waiting for data (${idleMs}ms >= ${
|
|
33
|
+
idleError = new Error(`SSE idle timeout while waiting for data (${idleMs}ms >= ${idleTimeoutMs}ms)`);
|
|
35
34
|
void reader.cancel(idleError).catch(() => { });
|
|
36
35
|
}
|
|
37
36
|
}, 1000);
|
|
@@ -66,6 +65,9 @@ export const sse = async function* (input, init) {
|
|
|
66
65
|
throw parserError;
|
|
67
66
|
}
|
|
68
67
|
}
|
|
68
|
+
while (pending.length) {
|
|
69
|
+
yield pending.shift();
|
|
70
|
+
}
|
|
69
71
|
break;
|
|
70
72
|
}
|
|
71
73
|
parser.feed(decoder.decode(value, { stream: true }));
|
package/dist/sse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,
|
|
1
|
+
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"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"}
|