@outfoxx/sunday 1.1.0-beta.21 → 1.1.0-beta.23

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.
@@ -7,9 +7,10 @@ export interface FetchEventSource {
7
7
  }
8
8
  export declare class FetchEventSource extends EventTarget implements ExtEventSource {
9
9
  private static LAST_EVENT_ID_HEADER;
10
- private static MAX_RETRY_TIME_MULTIPLE;
10
+ private static MAX_RETRY_TIME_MULTIPLIER;
11
+ private static RETRY_EXPONENT;
11
12
  private static EVENT_TIMEOUT_DEFAULT;
12
- private static EVENT_TIMEOUT_CHECK_INTERVAL;
13
+ private static EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT;
13
14
  CONNECTING: number;
14
15
  OPEN: number;
15
16
  CLOSED: number;
@@ -30,18 +31,21 @@ export declare class FetchEventSource extends EventTarget implements ExtEventSou
30
31
  private lastEventId?;
31
32
  private logger?;
32
33
  private readonly eventTimeout?;
34
+ private readonly eventTimeoutCheckInterval;
33
35
  private eventTimeoutCheckHandle?;
34
36
  private lastEventReceivedTime;
35
37
  private eventParser;
36
38
  constructor(url: string, eventSourceInit?: EventSourceInit & {
37
39
  adapter?: (url: string, requestInit: RequestInit) => Observable<Request>;
38
40
  eventTimeout?: number;
41
+ eventTimeoutCheckInterval?: number;
39
42
  logger?: Logger;
40
43
  });
41
44
  connect(): void;
42
45
  private internalConnect;
43
46
  close(): void;
44
47
  private internalClose;
48
+ private updateLastEventReceived;
45
49
  private startEventTimeoutCheck;
46
50
  private stopEventTimeoutCheck;
47
51
  private checkEventTimeout;
@@ -50,6 +54,7 @@ export declare class FetchEventSource extends EventTarget implements ExtEventSou
50
54
  private receivedError;
51
55
  private receivedComplete;
52
56
  private scheduleReconnect;
57
+ private static calculateRetryTime;
53
58
  private clearReconnect;
54
59
  private dispatchParsedEvent;
55
60
  fireErrorEvent(error: unknown): void;
@@ -15,6 +15,7 @@ import { EMPTY, map, of, Subscription, switchMap } from 'rxjs';
15
15
  import { fromReadableStreamLike } from 'rxjs/internal/observable/innerFrom';
16
16
  import { EventParser } from './event-parser';
17
17
  import { validate } from './fetch';
18
+ import { levelLogger, LogLevel } from './logger';
18
19
  import { MediaType } from './media-type';
19
20
  import { unknownGet, unknownSet } from './util/any';
20
21
  export class FetchEventSource extends EventTarget {
@@ -30,14 +31,13 @@ export class FetchEventSource extends EventTarget {
30
31
  this.onopen = null;
31
32
  this.internalRetryTime = 100;
32
33
  this.retryAttempt = 0;
33
- this.connectionAttemptTime = 0;
34
34
  this.lastEventReceivedTime = 0;
35
35
  this.eventParser = new EventParser();
36
36
  //
37
37
  // Event Dispatch
38
38
  //
39
39
  this.dispatchParsedEvent = (eventInfo) => {
40
- this.lastEventReceivedTime = Date.now();
40
+ this.updateLastEventReceived();
41
41
  if (eventInfo.retry) {
42
42
  const retryTime = Number.parseInt(eventInfo.retry, 10);
43
43
  if (Number.isSafeInteger(retryTime)) {
@@ -45,7 +45,7 @@ export class FetchEventSource extends EventTarget {
45
45
  this.internalRetryTime = retryTime;
46
46
  }
47
47
  else {
48
- this.logger?.debug?.('ignoring invalid retry timeout event', {
48
+ this.logger?.warn?.('ignoring invalid retry timeout event', {
49
49
  eventInfo,
50
50
  });
51
51
  }
@@ -55,6 +55,7 @@ export class FetchEventSource extends EventTarget {
55
55
  eventInfo.event == null &&
56
56
  eventInfo.data == null) {
57
57
  // skip empty event
58
+ this.logger?.trace?.('skipping empty event');
58
59
  return;
59
60
  }
60
61
  // Save last-event-id if the new id is valid
@@ -64,7 +65,7 @@ export class FetchEventSource extends EventTarget {
64
65
  this.lastEventId = eventInfo.id;
65
66
  }
66
67
  else {
67
- this.logger?.debug?.('event id contains null, unable to use for last-event-id');
68
+ this.logger?.warn?.('event id contains NULL byte, unable to use for last-event-id');
68
69
  }
69
70
  }
70
71
  // Dispatch event
@@ -81,9 +82,11 @@ export class FetchEventSource extends EventTarget {
81
82
  eventSourceInit?.adapter ??
82
83
  ((_url, requestInit) => of(new Request(_url, requestInit)));
83
84
  this.eventTimeout =
84
- eventSourceInit?.eventTimeout ??
85
- FetchEventSource.EVENT_TIMEOUT_DEFAULT * 1000;
86
- this.logger = eventSourceInit?.logger;
85
+ eventSourceInit?.eventTimeout ?? FetchEventSource.EVENT_TIMEOUT_DEFAULT;
86
+ this.eventTimeoutCheckInterval =
87
+ eventSourceInit?.eventTimeoutCheckInterval ??
88
+ FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT;
89
+ this.logger = levelLogger(LogLevel.Info, eventSourceInit?.logger);
87
90
  }
88
91
  get retryTime() {
89
92
  return this.internalRetryTime;
@@ -159,7 +162,7 @@ export class FetchEventSource extends EventTarget {
159
162
  if (this.readyState === this.CLOSED) {
160
163
  return;
161
164
  }
162
- this.logger?.debug?.('close requested');
165
+ this.logger?.debug?.('closing');
163
166
  this.readyState = this.CLOSED;
164
167
  this.internalClose();
165
168
  }
@@ -172,14 +175,17 @@ export class FetchEventSource extends EventTarget {
172
175
  //
173
176
  // Event Timeout
174
177
  //
178
+ updateLastEventReceived(time = Date.now()) {
179
+ this.lastEventReceivedTime = time;
180
+ }
175
181
  startEventTimeoutCheck(lastEventReceivedTime) {
176
182
  this.stopEventTimeoutCheck();
177
183
  if (!this.eventTimeout) {
178
184
  return;
179
185
  }
180
- this.lastEventReceivedTime = lastEventReceivedTime;
186
+ this.updateLastEventReceived(lastEventReceivedTime);
181
187
  this.logger?.trace?.('starting event timeout checks');
182
- this.eventTimeoutCheckHandle = window.setInterval(() => this.checkEventTimeout(), FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL * 1000);
188
+ this.eventTimeoutCheckHandle = window.setInterval(() => this.checkEventTimeout(), this.eventTimeoutCheckInterval);
183
189
  }
184
190
  stopEventTimeoutCheck() {
185
191
  if (this.eventTimeoutCheckHandle) {
@@ -216,7 +222,7 @@ export class FetchEventSource extends EventTarget {
216
222
  this.scheduleReconnect();
217
223
  return;
218
224
  }
219
- this.logger?.debug?.('opened');
225
+ this.logger?.info?.('opened');
220
226
  this.connectionOrigin = response.url;
221
227
  this.retryAttempt = 0;
222
228
  this.readyState = this.OPEN;
@@ -261,21 +267,28 @@ export class FetchEventSource extends EventTarget {
261
267
  //
262
268
  scheduleReconnect() {
263
269
  this.internalClose();
270
+ const lastConnectionTime = this.connectionAttemptTime
271
+ ? Date.now() - this.connectionAttemptTime
272
+ : 0;
273
+ const retryDelay = FetchEventSource.calculateRetryTime(this.retryAttempt, this.retryTime, lastConnectionTime);
274
+ this.retryAttempt++;
275
+ this.readyState = this.CONNECTING;
276
+ this.logger?.debug?.('scheduling reconnect', { retryDelay });
277
+ this.reconnectTimeoutHandle = window.setTimeout(() => this.internalConnect(), retryDelay);
278
+ }
279
+ static calculateRetryTime(retryAttempt, retryTime, lastConnectTime) {
280
+ const retryMultiplier = Math.min(retryAttempt, this.MAX_RETRY_TIME_MULTIPLIER);
264
281
  // calculate total delay
265
- const backOffDelay = Math.pow(this.retryAttempt, 2) * this.retryTime;
266
- let retryDelay = Math.min(this.retryTime + backOffDelay, this.retryTime * FetchEventSource.MAX_RETRY_TIME_MULTIPLE);
282
+ let retryDelay = Math.pow(retryMultiplier, this.RETRY_EXPONENT) * retryTime;
267
283
  // Adjust delay by amount of time last connect
268
284
  // cycle took, except on the first attempt
269
- if (this.retryAttempt > 0) {
270
- const connectionTime = Date.now() - this.connectionAttemptTime;
285
+ if (retryAttempt > 0) {
286
+ retryDelay -= lastConnectTime;
271
287
  // Ensure delay is at least as large as
272
288
  // minimum retry time interval
273
- retryDelay = Math.max(retryDelay - connectionTime, this.retryTime);
289
+ retryDelay = Math.max(retryDelay, retryTime);
274
290
  }
275
- this.retryAttempt++;
276
- this.readyState = this.CONNECTING;
277
- this.logger?.debug?.('scheduling reconnect', { retryDelay });
278
- this.reconnectTimeoutHandle = window.setTimeout(() => this.internalConnect(), retryDelay);
291
+ return retryDelay;
279
292
  }
280
293
  clearReconnect() {
281
294
  if (this.reconnectTimeoutHandle) {
@@ -290,7 +303,8 @@ export class FetchEventSource extends EventTarget {
290
303
  }
291
304
  }
292
305
  FetchEventSource.LAST_EVENT_ID_HEADER = 'Last-Event-ID';
293
- FetchEventSource.MAX_RETRY_TIME_MULTIPLE = 30;
294
- FetchEventSource.EVENT_TIMEOUT_DEFAULT = 75;
295
- FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL = 2;
306
+ FetchEventSource.MAX_RETRY_TIME_MULTIPLIER = 12;
307
+ FetchEventSource.RETRY_EXPONENT = 2.6;
308
+ FetchEventSource.EVENT_TIMEOUT_DEFAULT = 120 * 1000;
309
+ FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT = 2 * 1000;
296
310
  //# sourceMappingURL=fetch-event-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-event-source.js","sourceRoot":"","sources":["../../src/fetch-event-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-event-source.js","sourceRoot":"","sources":["../../src/fetch-event-source.ts"],"names":[],"mappings":"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"}
@@ -6,3 +6,12 @@ export interface Logger {
6
6
  warn?(...data: unknown[]): void;
7
7
  error?(...data: unknown[]): void;
8
8
  }
9
+ export declare enum LogLevel {
10
+ Trace = 4,
11
+ Debug = 3,
12
+ Info = 2,
13
+ Warn = 1,
14
+ Error = 0,
15
+ None = -1
16
+ }
17
+ export declare function levelLogger(level: LogLevel, logger?: Logger): Logger | undefined;
@@ -11,5 +11,26 @@
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
- export {};
14
+ export var LogLevel;
15
+ (function (LogLevel) {
16
+ LogLevel[LogLevel["Trace"] = 4] = "Trace";
17
+ LogLevel[LogLevel["Debug"] = 3] = "Debug";
18
+ LogLevel[LogLevel["Info"] = 2] = "Info";
19
+ LogLevel[LogLevel["Warn"] = 1] = "Warn";
20
+ LogLevel[LogLevel["Error"] = 0] = "Error";
21
+ LogLevel[LogLevel["None"] = -1] = "None";
22
+ })(LogLevel || (LogLevel = {}));
23
+ export function levelLogger(level, logger) {
24
+ if (!logger) {
25
+ return undefined;
26
+ }
27
+ return {
28
+ log: logger?.log?.bind(logger),
29
+ trace: level >= LogLevel.Trace ? logger?.trace?.bind(logger) : undefined,
30
+ debug: level >= LogLevel.Debug ? logger?.debug?.bind(logger) : undefined,
31
+ info: level >= LogLevel.Info ? logger?.info?.bind(logger) : undefined,
32
+ warn: level >= LogLevel.Warn ? logger?.warn?.bind(logger) : undefined,
33
+ error: level >= LogLevel.Error ? logger?.error?.bind(logger) : undefined,
34
+ };
35
+ }
15
36
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAWjC,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,wCAAS,CAAA;AACX,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAED,MAAM,UAAU,WAAW,CACzB,KAAe,EACf,MAAe;IAEf,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,SAAS,CAAC;KAClB;IACD,OAAO;QACL,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;QAC9B,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACrE,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACrE,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KACzE,CAAC;AACJ,CAAC"}
@@ -7,9 +7,10 @@ export interface FetchEventSource {
7
7
  }
8
8
  export declare class FetchEventSource extends EventTarget implements ExtEventSource {
9
9
  private static LAST_EVENT_ID_HEADER;
10
- private static MAX_RETRY_TIME_MULTIPLE;
10
+ private static MAX_RETRY_TIME_MULTIPLIER;
11
+ private static RETRY_EXPONENT;
11
12
  private static EVENT_TIMEOUT_DEFAULT;
12
- private static EVENT_TIMEOUT_CHECK_INTERVAL;
13
+ private static EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT;
13
14
  CONNECTING: number;
14
15
  OPEN: number;
15
16
  CLOSED: number;
@@ -30,18 +31,21 @@ export declare class FetchEventSource extends EventTarget implements ExtEventSou
30
31
  private lastEventId?;
31
32
  private logger?;
32
33
  private readonly eventTimeout?;
34
+ private readonly eventTimeoutCheckInterval;
33
35
  private eventTimeoutCheckHandle?;
34
36
  private lastEventReceivedTime;
35
37
  private eventParser;
36
38
  constructor(url: string, eventSourceInit?: EventSourceInit & {
37
39
  adapter?: (url: string, requestInit: RequestInit) => Observable<Request>;
38
40
  eventTimeout?: number;
41
+ eventTimeoutCheckInterval?: number;
39
42
  logger?: Logger;
40
43
  });
41
44
  connect(): void;
42
45
  private internalConnect;
43
46
  close(): void;
44
47
  private internalClose;
48
+ private updateLastEventReceived;
45
49
  private startEventTimeoutCheck;
46
50
  private stopEventTimeoutCheck;
47
51
  private checkEventTimeout;
@@ -50,6 +54,7 @@ export declare class FetchEventSource extends EventTarget implements ExtEventSou
50
54
  private receivedError;
51
55
  private receivedComplete;
52
56
  private scheduleReconnect;
57
+ private static calculateRetryTime;
53
58
  private clearReconnect;
54
59
  private dispatchParsedEvent;
55
60
  fireErrorEvent(error: unknown): void;
@@ -15,6 +15,7 @@ import { EMPTY, map, of, Subscription, switchMap } from 'rxjs';
15
15
  import { fromReadableStreamLike } from 'rxjs/internal/observable/innerFrom';
16
16
  import { EventParser } from './event-parser';
17
17
  import { validate } from './fetch';
18
+ import { levelLogger, LogLevel } from './logger';
18
19
  import { MediaType } from './media-type';
19
20
  import { unknownGet, unknownSet } from './util/any';
20
21
  export class FetchEventSource extends EventTarget {
@@ -30,14 +31,13 @@ export class FetchEventSource extends EventTarget {
30
31
  this.onopen = null;
31
32
  this.internalRetryTime = 100;
32
33
  this.retryAttempt = 0;
33
- this.connectionAttemptTime = 0;
34
34
  this.lastEventReceivedTime = 0;
35
35
  this.eventParser = new EventParser();
36
36
  //
37
37
  // Event Dispatch
38
38
  //
39
39
  this.dispatchParsedEvent = (eventInfo) => {
40
- this.lastEventReceivedTime = Date.now();
40
+ this.updateLastEventReceived();
41
41
  if (eventInfo.retry) {
42
42
  const retryTime = Number.parseInt(eventInfo.retry, 10);
43
43
  if (Number.isSafeInteger(retryTime)) {
@@ -45,7 +45,7 @@ export class FetchEventSource extends EventTarget {
45
45
  this.internalRetryTime = retryTime;
46
46
  }
47
47
  else {
48
- this.logger?.debug?.('ignoring invalid retry timeout event', {
48
+ this.logger?.warn?.('ignoring invalid retry timeout event', {
49
49
  eventInfo,
50
50
  });
51
51
  }
@@ -55,6 +55,7 @@ export class FetchEventSource extends EventTarget {
55
55
  eventInfo.event == null &&
56
56
  eventInfo.data == null) {
57
57
  // skip empty event
58
+ this.logger?.trace?.('skipping empty event');
58
59
  return;
59
60
  }
60
61
  // Save last-event-id if the new id is valid
@@ -64,7 +65,7 @@ export class FetchEventSource extends EventTarget {
64
65
  this.lastEventId = eventInfo.id;
65
66
  }
66
67
  else {
67
- this.logger?.debug?.('event id contains null, unable to use for last-event-id');
68
+ this.logger?.warn?.('event id contains NULL byte, unable to use for last-event-id');
68
69
  }
69
70
  }
70
71
  // Dispatch event
@@ -81,9 +82,11 @@ export class FetchEventSource extends EventTarget {
81
82
  eventSourceInit?.adapter ??
82
83
  ((_url, requestInit) => of(new Request(_url, requestInit)));
83
84
  this.eventTimeout =
84
- eventSourceInit?.eventTimeout ??
85
- FetchEventSource.EVENT_TIMEOUT_DEFAULT * 1000;
86
- this.logger = eventSourceInit?.logger;
85
+ eventSourceInit?.eventTimeout ?? FetchEventSource.EVENT_TIMEOUT_DEFAULT;
86
+ this.eventTimeoutCheckInterval =
87
+ eventSourceInit?.eventTimeoutCheckInterval ??
88
+ FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT;
89
+ this.logger = levelLogger(LogLevel.Info, eventSourceInit?.logger);
87
90
  }
88
91
  get retryTime() {
89
92
  return this.internalRetryTime;
@@ -159,7 +162,7 @@ export class FetchEventSource extends EventTarget {
159
162
  if (this.readyState === this.CLOSED) {
160
163
  return;
161
164
  }
162
- this.logger?.debug?.('close requested');
165
+ this.logger?.debug?.('closing');
163
166
  this.readyState = this.CLOSED;
164
167
  this.internalClose();
165
168
  }
@@ -172,14 +175,17 @@ export class FetchEventSource extends EventTarget {
172
175
  //
173
176
  // Event Timeout
174
177
  //
178
+ updateLastEventReceived(time = Date.now()) {
179
+ this.lastEventReceivedTime = time;
180
+ }
175
181
  startEventTimeoutCheck(lastEventReceivedTime) {
176
182
  this.stopEventTimeoutCheck();
177
183
  if (!this.eventTimeout) {
178
184
  return;
179
185
  }
180
- this.lastEventReceivedTime = lastEventReceivedTime;
186
+ this.updateLastEventReceived(lastEventReceivedTime);
181
187
  this.logger?.trace?.('starting event timeout checks');
182
- this.eventTimeoutCheckHandle = window.setInterval(() => this.checkEventTimeout(), FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL * 1000);
188
+ this.eventTimeoutCheckHandle = window.setInterval(() => this.checkEventTimeout(), this.eventTimeoutCheckInterval);
183
189
  }
184
190
  stopEventTimeoutCheck() {
185
191
  if (this.eventTimeoutCheckHandle) {
@@ -216,7 +222,7 @@ export class FetchEventSource extends EventTarget {
216
222
  this.scheduleReconnect();
217
223
  return;
218
224
  }
219
- this.logger?.debug?.('opened');
225
+ this.logger?.info?.('opened');
220
226
  this.connectionOrigin = response.url;
221
227
  this.retryAttempt = 0;
222
228
  this.readyState = this.OPEN;
@@ -261,21 +267,28 @@ export class FetchEventSource extends EventTarget {
261
267
  //
262
268
  scheduleReconnect() {
263
269
  this.internalClose();
270
+ const lastConnectionTime = this.connectionAttemptTime
271
+ ? Date.now() - this.connectionAttemptTime
272
+ : 0;
273
+ const retryDelay = FetchEventSource.calculateRetryTime(this.retryAttempt, this.retryTime, lastConnectionTime);
274
+ this.retryAttempt++;
275
+ this.readyState = this.CONNECTING;
276
+ this.logger?.debug?.('scheduling reconnect', { retryDelay });
277
+ this.reconnectTimeoutHandle = window.setTimeout(() => this.internalConnect(), retryDelay);
278
+ }
279
+ static calculateRetryTime(retryAttempt, retryTime, lastConnectTime) {
280
+ const retryMultiplier = Math.min(retryAttempt, this.MAX_RETRY_TIME_MULTIPLIER);
264
281
  // calculate total delay
265
- const backOffDelay = Math.pow(this.retryAttempt, 2) * this.retryTime;
266
- let retryDelay = Math.min(this.retryTime + backOffDelay, this.retryTime * FetchEventSource.MAX_RETRY_TIME_MULTIPLE);
282
+ let retryDelay = Math.pow(retryMultiplier, this.RETRY_EXPONENT) * retryTime;
267
283
  // Adjust delay by amount of time last connect
268
284
  // cycle took, except on the first attempt
269
- if (this.retryAttempt > 0) {
270
- const connectionTime = Date.now() - this.connectionAttemptTime;
285
+ if (retryAttempt > 0) {
286
+ retryDelay -= lastConnectTime;
271
287
  // Ensure delay is at least as large as
272
288
  // minimum retry time interval
273
- retryDelay = Math.max(retryDelay - connectionTime, this.retryTime);
289
+ retryDelay = Math.max(retryDelay, retryTime);
274
290
  }
275
- this.retryAttempt++;
276
- this.readyState = this.CONNECTING;
277
- this.logger?.debug?.('scheduling reconnect', { retryDelay });
278
- this.reconnectTimeoutHandle = window.setTimeout(() => this.internalConnect(), retryDelay);
291
+ return retryDelay;
279
292
  }
280
293
  clearReconnect() {
281
294
  if (this.reconnectTimeoutHandle) {
@@ -290,7 +303,8 @@ export class FetchEventSource extends EventTarget {
290
303
  }
291
304
  }
292
305
  FetchEventSource.LAST_EVENT_ID_HEADER = 'Last-Event-ID';
293
- FetchEventSource.MAX_RETRY_TIME_MULTIPLE = 30;
294
- FetchEventSource.EVENT_TIMEOUT_DEFAULT = 75;
295
- FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL = 2;
306
+ FetchEventSource.MAX_RETRY_TIME_MULTIPLIER = 12;
307
+ FetchEventSource.RETRY_EXPONENT = 2.6;
308
+ FetchEventSource.EVENT_TIMEOUT_DEFAULT = 120 * 1000;
309
+ FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT = 2 * 1000;
296
310
  //# sourceMappingURL=fetch-event-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-event-source.js","sourceRoot":"","sources":["../../src/fetch-event-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-event-source.js","sourceRoot":"","sources":["../../src/fetch-event-source.ts"],"names":[],"mappings":"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"}
@@ -6,3 +6,12 @@ export interface Logger {
6
6
  warn?(...data: unknown[]): void;
7
7
  error?(...data: unknown[]): void;
8
8
  }
9
+ export declare enum LogLevel {
10
+ Trace = 4,
11
+ Debug = 3,
12
+ Info = 2,
13
+ Warn = 1,
14
+ Error = 0,
15
+ None = -1
16
+ }
17
+ export declare function levelLogger(level: LogLevel, logger?: Logger): Logger | undefined;
@@ -11,5 +11,26 @@
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
- export {};
14
+ export var LogLevel;
15
+ (function (LogLevel) {
16
+ LogLevel[LogLevel["Trace"] = 4] = "Trace";
17
+ LogLevel[LogLevel["Debug"] = 3] = "Debug";
18
+ LogLevel[LogLevel["Info"] = 2] = "Info";
19
+ LogLevel[LogLevel["Warn"] = 1] = "Warn";
20
+ LogLevel[LogLevel["Error"] = 0] = "Error";
21
+ LogLevel[LogLevel["None"] = -1] = "None";
22
+ })(LogLevel || (LogLevel = {}));
23
+ export function levelLogger(level, logger) {
24
+ if (!logger) {
25
+ return undefined;
26
+ }
27
+ return {
28
+ log: logger?.log?.bind(logger),
29
+ trace: level >= LogLevel.Trace ? logger?.trace?.bind(logger) : undefined,
30
+ debug: level >= LogLevel.Debug ? logger?.debug?.bind(logger) : undefined,
31
+ info: level >= LogLevel.Info ? logger?.info?.bind(logger) : undefined,
32
+ warn: level >= LogLevel.Warn ? logger?.warn?.bind(logger) : undefined,
33
+ error: level >= LogLevel.Error ? logger?.error?.bind(logger) : undefined,
34
+ };
35
+ }
15
36
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAWjC,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,wCAAS,CAAA;AACX,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAED,MAAM,UAAU,WAAW,CACzB,KAAe,EACf,MAAe;IAEf,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,SAAS,CAAC;KAClB;IACD,OAAO;QACL,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;QAC9B,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACrE,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACrE,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KACzE,CAAC;AACJ,CAAC"}
@@ -7,9 +7,10 @@ export interface FetchEventSource {
7
7
  }
8
8
  export declare class FetchEventSource extends EventTarget implements ExtEventSource {
9
9
  private static LAST_EVENT_ID_HEADER;
10
- private static MAX_RETRY_TIME_MULTIPLE;
10
+ private static MAX_RETRY_TIME_MULTIPLIER;
11
+ private static RETRY_EXPONENT;
11
12
  private static EVENT_TIMEOUT_DEFAULT;
12
- private static EVENT_TIMEOUT_CHECK_INTERVAL;
13
+ private static EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT;
13
14
  CONNECTING: number;
14
15
  OPEN: number;
15
16
  CLOSED: number;
@@ -30,18 +31,21 @@ export declare class FetchEventSource extends EventTarget implements ExtEventSou
30
31
  private lastEventId?;
31
32
  private logger?;
32
33
  private readonly eventTimeout?;
34
+ private readonly eventTimeoutCheckInterval;
33
35
  private eventTimeoutCheckHandle?;
34
36
  private lastEventReceivedTime;
35
37
  private eventParser;
36
38
  constructor(url: string, eventSourceInit?: EventSourceInit & {
37
39
  adapter?: (url: string, requestInit: RequestInit) => Observable<Request>;
38
40
  eventTimeout?: number;
41
+ eventTimeoutCheckInterval?: number;
39
42
  logger?: Logger;
40
43
  });
41
44
  connect(): void;
42
45
  private internalConnect;
43
46
  close(): void;
44
47
  private internalClose;
48
+ private updateLastEventReceived;
45
49
  private startEventTimeoutCheck;
46
50
  private stopEventTimeoutCheck;
47
51
  private checkEventTimeout;
@@ -50,6 +54,7 @@ export declare class FetchEventSource extends EventTarget implements ExtEventSou
50
54
  private receivedError;
51
55
  private receivedComplete;
52
56
  private scheduleReconnect;
57
+ private static calculateRetryTime;
53
58
  private clearReconnect;
54
59
  private dispatchParsedEvent;
55
60
  fireErrorEvent(error: unknown): void;
@@ -18,6 +18,7 @@ const rxjs_1 = require("rxjs");
18
18
  const innerFrom_1 = require("rxjs/internal/observable/innerFrom");
19
19
  const event_parser_1 = require("./event-parser");
20
20
  const fetch_1 = require("./fetch");
21
+ const logger_1 = require("./logger");
21
22
  const media_type_1 = require("./media-type");
22
23
  const any_1 = require("./util/any");
23
24
  class FetchEventSource extends EventTarget {
@@ -33,14 +34,13 @@ class FetchEventSource extends EventTarget {
33
34
  this.onopen = null;
34
35
  this.internalRetryTime = 100;
35
36
  this.retryAttempt = 0;
36
- this.connectionAttemptTime = 0;
37
37
  this.lastEventReceivedTime = 0;
38
38
  this.eventParser = new event_parser_1.EventParser();
39
39
  //
40
40
  // Event Dispatch
41
41
  //
42
42
  this.dispatchParsedEvent = (eventInfo) => {
43
- this.lastEventReceivedTime = Date.now();
43
+ this.updateLastEventReceived();
44
44
  if (eventInfo.retry) {
45
45
  const retryTime = Number.parseInt(eventInfo.retry, 10);
46
46
  if (Number.isSafeInteger(retryTime)) {
@@ -48,7 +48,7 @@ class FetchEventSource extends EventTarget {
48
48
  this.internalRetryTime = retryTime;
49
49
  }
50
50
  else {
51
- this.logger?.debug?.('ignoring invalid retry timeout event', {
51
+ this.logger?.warn?.('ignoring invalid retry timeout event', {
52
52
  eventInfo,
53
53
  });
54
54
  }
@@ -58,6 +58,7 @@ class FetchEventSource extends EventTarget {
58
58
  eventInfo.event == null &&
59
59
  eventInfo.data == null) {
60
60
  // skip empty event
61
+ this.logger?.trace?.('skipping empty event');
61
62
  return;
62
63
  }
63
64
  // Save last-event-id if the new id is valid
@@ -67,7 +68,7 @@ class FetchEventSource extends EventTarget {
67
68
  this.lastEventId = eventInfo.id;
68
69
  }
69
70
  else {
70
- this.logger?.debug?.('event id contains null, unable to use for last-event-id');
71
+ this.logger?.warn?.('event id contains NULL byte, unable to use for last-event-id');
71
72
  }
72
73
  }
73
74
  // Dispatch event
@@ -84,9 +85,11 @@ class FetchEventSource extends EventTarget {
84
85
  eventSourceInit?.adapter ??
85
86
  ((_url, requestInit) => (0, rxjs_1.of)(new Request(_url, requestInit)));
86
87
  this.eventTimeout =
87
- eventSourceInit?.eventTimeout ??
88
- FetchEventSource.EVENT_TIMEOUT_DEFAULT * 1000;
89
- this.logger = eventSourceInit?.logger;
88
+ eventSourceInit?.eventTimeout ?? FetchEventSource.EVENT_TIMEOUT_DEFAULT;
89
+ this.eventTimeoutCheckInterval =
90
+ eventSourceInit?.eventTimeoutCheckInterval ??
91
+ FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT;
92
+ this.logger = (0, logger_1.levelLogger)(logger_1.LogLevel.Info, eventSourceInit?.logger);
90
93
  }
91
94
  get retryTime() {
92
95
  return this.internalRetryTime;
@@ -162,7 +165,7 @@ class FetchEventSource extends EventTarget {
162
165
  if (this.readyState === this.CLOSED) {
163
166
  return;
164
167
  }
165
- this.logger?.debug?.('close requested');
168
+ this.logger?.debug?.('closing');
166
169
  this.readyState = this.CLOSED;
167
170
  this.internalClose();
168
171
  }
@@ -175,14 +178,17 @@ class FetchEventSource extends EventTarget {
175
178
  //
176
179
  // Event Timeout
177
180
  //
181
+ updateLastEventReceived(time = Date.now()) {
182
+ this.lastEventReceivedTime = time;
183
+ }
178
184
  startEventTimeoutCheck(lastEventReceivedTime) {
179
185
  this.stopEventTimeoutCheck();
180
186
  if (!this.eventTimeout) {
181
187
  return;
182
188
  }
183
- this.lastEventReceivedTime = lastEventReceivedTime;
189
+ this.updateLastEventReceived(lastEventReceivedTime);
184
190
  this.logger?.trace?.('starting event timeout checks');
185
- this.eventTimeoutCheckHandle = window.setInterval(() => this.checkEventTimeout(), FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL * 1000);
191
+ this.eventTimeoutCheckHandle = window.setInterval(() => this.checkEventTimeout(), this.eventTimeoutCheckInterval);
186
192
  }
187
193
  stopEventTimeoutCheck() {
188
194
  if (this.eventTimeoutCheckHandle) {
@@ -219,7 +225,7 @@ class FetchEventSource extends EventTarget {
219
225
  this.scheduleReconnect();
220
226
  return;
221
227
  }
222
- this.logger?.debug?.('opened');
228
+ this.logger?.info?.('opened');
223
229
  this.connectionOrigin = response.url;
224
230
  this.retryAttempt = 0;
225
231
  this.readyState = this.OPEN;
@@ -264,21 +270,28 @@ class FetchEventSource extends EventTarget {
264
270
  //
265
271
  scheduleReconnect() {
266
272
  this.internalClose();
273
+ const lastConnectionTime = this.connectionAttemptTime
274
+ ? Date.now() - this.connectionAttemptTime
275
+ : 0;
276
+ const retryDelay = FetchEventSource.calculateRetryTime(this.retryAttempt, this.retryTime, lastConnectionTime);
277
+ this.retryAttempt++;
278
+ this.readyState = this.CONNECTING;
279
+ this.logger?.debug?.('scheduling reconnect', { retryDelay });
280
+ this.reconnectTimeoutHandle = window.setTimeout(() => this.internalConnect(), retryDelay);
281
+ }
282
+ static calculateRetryTime(retryAttempt, retryTime, lastConnectTime) {
283
+ const retryMultiplier = Math.min(retryAttempt, this.MAX_RETRY_TIME_MULTIPLIER);
267
284
  // calculate total delay
268
- const backOffDelay = Math.pow(this.retryAttempt, 2) * this.retryTime;
269
- let retryDelay = Math.min(this.retryTime + backOffDelay, this.retryTime * FetchEventSource.MAX_RETRY_TIME_MULTIPLE);
285
+ let retryDelay = Math.pow(retryMultiplier, this.RETRY_EXPONENT) * retryTime;
270
286
  // Adjust delay by amount of time last connect
271
287
  // cycle took, except on the first attempt
272
- if (this.retryAttempt > 0) {
273
- const connectionTime = Date.now() - this.connectionAttemptTime;
288
+ if (retryAttempt > 0) {
289
+ retryDelay -= lastConnectTime;
274
290
  // Ensure delay is at least as large as
275
291
  // minimum retry time interval
276
- retryDelay = Math.max(retryDelay - connectionTime, this.retryTime);
292
+ retryDelay = Math.max(retryDelay, retryTime);
277
293
  }
278
- this.retryAttempt++;
279
- this.readyState = this.CONNECTING;
280
- this.logger?.debug?.('scheduling reconnect', { retryDelay });
281
- this.reconnectTimeoutHandle = window.setTimeout(() => this.internalConnect(), retryDelay);
294
+ return retryDelay;
282
295
  }
283
296
  clearReconnect() {
284
297
  if (this.reconnectTimeoutHandle) {
@@ -294,7 +307,8 @@ class FetchEventSource extends EventTarget {
294
307
  }
295
308
  exports.FetchEventSource = FetchEventSource;
296
309
  FetchEventSource.LAST_EVENT_ID_HEADER = 'Last-Event-ID';
297
- FetchEventSource.MAX_RETRY_TIME_MULTIPLE = 30;
298
- FetchEventSource.EVENT_TIMEOUT_DEFAULT = 75;
299
- FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL = 2;
310
+ FetchEventSource.MAX_RETRY_TIME_MULTIPLIER = 12;
311
+ FetchEventSource.RETRY_EXPONENT = 2.6;
312
+ FetchEventSource.EVENT_TIMEOUT_DEFAULT = 120 * 1000;
313
+ FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT = 2 * 1000;
300
314
  //# sourceMappingURL=fetch-event-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-event-source.js","sourceRoot":"","sources":["../../src/fetch-event-source.ts"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;;AAEjC,+BAA2E;AAC3E,kEAA4E;AAC5E,iDAAwD;AACxD,mCAAmC;AAEnC,6CAAyC;AAEzC,oCAAoD;AAiBpD,MAAa,gBAAiB,SAAQ,WAAW;IAsC/C,YACE,GAAW,EACX,eAIC;QAED,KAAK,EAAE,CAAC;QAxCV,eAAU,GAAG,CAAC,CAAC;QACf,SAAI,GAAG,CAAC,CAAC;QACT,WAAM,GAAG,CAAC,CAAC;QAEX,eAAU,GAAW,IAAI,CAAC,MAAM,CAAC;QAEjC,oBAAe,GAAG,KAAK,CAAC;QACxB,YAAO,GAAuD,IAAI,CAAC;QACnE,cAAS,GAA8D,IAAI,CAAC;QAC5E,WAAM,GAAuD,IAAI,CAAC;QAW1D,sBAAiB,GAAG,GAAG,CAAC;QACxB,iBAAY,GAAG,CAAC,CAAC;QACjB,0BAAqB,GAAG,CAAC,CAAC;QAO1B,0BAAqB,GAAG,CAAC,CAAC;QAC1B,gBAAW,GAAG,IAAI,0BAAW,EAAE,CAAC;QA0SxC,EAAE;QACF,iBAAiB;QACjB,EAAE;QAEM,wBAAmB,GAAG,CAAC,SAAoB,EAAE,EAAE;YACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAExC,IAAI,SAAS,CAAC,KAAK,EAAE;gBACnB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAEvD,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;oBACnC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;oBAE9D,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;iBACpC;qBAAM;oBACL,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,sCAAsC,EAAE;wBAC3D,SAAS;qBACV,CAAC,CAAC;iBACJ;aACF;YAED,oBAAoB;YACpB,IACE,SAAS,CAAC,EAAE,IAAI,IAAI;gBACpB,SAAS,CAAC,KAAK,IAAI,IAAI;gBACvB,SAAS,CAAC,IAAI,IAAI,IAAI,EACtB;gBACA,mBAAmB;gBACnB,OAAO;aACR;YAED,4CAA4C;YAC5C,IAAI,SAAS,CAAC,EAAE,IAAI,IAAI,EAAE;gBACxB,sCAAsC;gBACtC,IAAI,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;oBACpC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;iBACjC;qBAAM;oBACL,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAClB,yDAAyD,CAC1D,CAAC;iBACH;aACF;YAED,iBAAiB;YACjB,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,EAAE;gBAC3D,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI,CAAC,gBAAgB;aAC9B,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;QAnVA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO;YACV,eAAe,EAAE,OAAO;gBACxB,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,IAAA,SAAE,EAAC,IAAI,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY;YACf,eAAe,EAAE,YAAY;gBAC7B,gBAAgB,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,MAAM,CAAC;IACxC,CAAC;IAtCD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAsCD,EAAE;IACF,UAAU;IACV,EAAE;IAEF,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,EAAE;YACxE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACrE,OAAO;SACR;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,MAAM,EAAE,sBAAS,CAAC,WAAW,CAAC,QAAQ,EAAE;SACzC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACzE;QAED,IAAI,CAAC,sBAAsB,EAAE,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,sBAAsB,GAAG,IAAI,mBAAY,EAAE,CAAC;QAEjD,wCAAwC;QACxC,MAAM,0BAA0B,GAAG,IAAI,eAAe,EAAE,CAAC;QACzD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC,CAAC;QAE1E,2EAA2E;QAC3E,MAAM,cAAc,GAAG,IAAA,gBAAU,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,cAAc,YAAY,WAAW,EAAE;YACzC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;YAEpE,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC7D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,CACnC,cAAc,EAAE,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CACjE,CAAC;SACH;QAED,MAAM,WAAW,GAAgB;YAC/B,OAAO;YACP,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,QAAQ;SACnB,CAAC;QAEF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAExC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC;aAChC,IAAI,CACH,IAAA,gBAAS,EAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1B,yCAAyC;YACzC,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;gBACpC,MAAM,EAAE,0BAA0B,CAAC,MAAM;aAC1C,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,MAAM,IAAA,gBAAQ,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEzD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;YAExC,OAAO,iBAAiB,CAAC;QAC3B,CAAC,CAAC,EACF,IAAA,gBAAS,EAAC,CAAC,QAAQ,EAAE,EAAE;YACrB,gEAAgE;YAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,YAAK,CAAC;aACd;YAED,OAAO,IAAA,kCAAsB,EAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,EACF,IAAA,UAAG,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACzC;aACA,SAAS,CAAC;YACT,KAAK,EAAE,CAAC,KAAc,EAAE,EAAE;gBACxB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC;SACF,CAAC,CACL,CAAC;IACJ,CAAC;IAED,EAAE;IACF,QAAQ;IACR,EAAE;IAEF,KAAK;QACH,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE;YACnC,OAAO;SACR;QAED,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAExC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,sBAAsB,EAAE,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QAExC,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,EAAE;IACF,gBAAgB;IAChB,EAAE;IAEM,sBAAsB,CAAC,qBAA6B;QAC1D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO;SACR;QAED,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QAEnD,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,+BAA+B,CAAC,CAAC;QAEtD,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,WAAW,CAC/C,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAC9B,gBAAgB,CAAC,4BAA4B,GAAG,IAAI,CACrD,CAAC;IACJ,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,+BAA+B,CAAC,CAAC;YAEtD,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAC3C,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,wBAAwB,CAAC,CAAC;QAE/C,+CAA+C;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACxD,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE;YAC/B,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,uBAAuB,EAAE;gBAC5C,OAAO;aACR,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAE3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,EAAE;IACF,sBAAsB;IACtB,EAAE;IAEM,eAAe,CAAC,QAAkB;QACxC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;YACvC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,wCAAwC,EAAE;gBAC7D,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAE3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;SACR;QAED,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;QAE/B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAE5B,2CAA2C;QAC3C,4CAA4C;QAC5C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEO,YAAY,CAAC,MAAmB;QACtC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,EAAE;YACjC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,oCAAoC,EAAE;gBACzD,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAE3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;SACR;QAED,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAErE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAEO,aAAa,CAAC,KAAc;QAClC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE;YACnC,OAAO;SACR;QAED,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE;YACnC,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE;YAClC,OAAO;SACR;QAED,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,mBAAmB,CAAC,CAAC;QAE1C,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,EAAE;IACF,eAAe;IACf,EAAE;IAEM,iBAAiB;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,wBAAwB;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACrE,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CACvB,IAAI,CAAC,SAAS,GAAG,YAAY,EAC7B,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,uBAAuB,CAC1D,CAAC;QAEF,8CAA8C;QAC9C,0CAA0C;QAC1C,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;YACzB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC/D,uCAAuC;YACvC,8BAA8B;YAC9B,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACpE;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAC7C,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,EAC5B,UAAU,CACX,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAC1C,CAAC;IAwDD,cAAc,CAAC,KAAc;QAC3B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,IAAA,gBAAU,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;;AAxYH,4CAyYC;AAxYgB,qCAAoB,GAAG,eAAe,CAAC;AACvC,wCAAuB,GAAG,EAAE,CAAC;AAC7B,sCAAqB,GAAG,EAAE,CAAC;AAC3B,6CAA4B,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"fetch-event-source.js","sourceRoot":"","sources":["../../src/fetch-event-source.ts"],"names":[],"mappings":"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"}
@@ -6,3 +6,12 @@ export interface Logger {
6
6
  warn?(...data: unknown[]): void;
7
7
  error?(...data: unknown[]): void;
8
8
  }
9
+ export declare enum LogLevel {
10
+ Trace = 4,
11
+ Debug = 3,
12
+ Info = 2,
13
+ Warn = 1,
14
+ Error = 0,
15
+ None = -1
16
+ }
17
+ export declare function levelLogger(level: LogLevel, logger?: Logger): Logger | undefined;
@@ -13,4 +13,28 @@
13
13
  // See the License for the specific language governing permissions and
14
14
  // limitations under the License.
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.levelLogger = exports.LogLevel = void 0;
17
+ var LogLevel;
18
+ (function (LogLevel) {
19
+ LogLevel[LogLevel["Trace"] = 4] = "Trace";
20
+ LogLevel[LogLevel["Debug"] = 3] = "Debug";
21
+ LogLevel[LogLevel["Info"] = 2] = "Info";
22
+ LogLevel[LogLevel["Warn"] = 1] = "Warn";
23
+ LogLevel[LogLevel["Error"] = 0] = "Error";
24
+ LogLevel[LogLevel["None"] = -1] = "None";
25
+ })(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
26
+ function levelLogger(level, logger) {
27
+ if (!logger) {
28
+ return undefined;
29
+ }
30
+ return {
31
+ log: logger?.log?.bind(logger),
32
+ trace: level >= LogLevel.Trace ? logger?.trace?.bind(logger) : undefined,
33
+ debug: level >= LogLevel.Debug ? logger?.debug?.bind(logger) : undefined,
34
+ info: level >= LogLevel.Info ? logger?.info?.bind(logger) : undefined,
35
+ warn: level >= LogLevel.Warn ? logger?.warn?.bind(logger) : undefined,
36
+ error: level >= LogLevel.Error ? logger?.error?.bind(logger) : undefined,
37
+ };
38
+ }
39
+ exports.levelLogger = levelLogger;
16
40
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;;AAWjC,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,wCAAS,CAAA;AACX,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB;AAED,SAAgB,WAAW,CACzB,KAAe,EACf,MAAe;IAEf,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,SAAS,CAAC;KAClB;IACD,OAAO;QACL,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;QAC9B,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACrE,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QACrE,KAAK,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KACzE,CAAC;AACJ,CAAC;AAfD,kCAeC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outfoxx/sunday",
3
- "version": "1.1.0-beta.21",
3
+ "version": "1.1.0-beta.23",
4
4
  "description": "Sunday 🙏 The framework of REST for TypeScript/JavaScript",
5
5
  "main": "build/main/index.js",
6
6
  "module": "build/esm/index.js",
@@ -16,7 +16,7 @@ import { EMPTY, map, Observable, of, Subscription, switchMap } from 'rxjs';
16
16
  import { fromReadableStreamLike } from 'rxjs/internal/observable/innerFrom';
17
17
  import { EventInfo, EventParser } from './event-parser';
18
18
  import { validate } from './fetch';
19
- import { Logger } from './logger';
19
+ import { levelLogger, Logger, LogLevel } from './logger';
20
20
  import { MediaType } from './media-type';
21
21
  import { ExtEventSource } from './request-factory';
22
22
  import { unknownGet, unknownSet } from './util/any';
@@ -28,6 +28,7 @@ export interface FetchEventSource {
28
28
  listener: (this: EventSource, ev: EventSourceEventMap[K]) => any,
29
29
  options?: boolean | AddEventListenerOptions,
30
30
  ): void;
31
+
31
32
  removeEventListener<K extends keyof EventSourceEventMap>(
32
33
  type: K,
33
34
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -38,9 +39,10 @@ export interface FetchEventSource {
38
39
 
39
40
  export class FetchEventSource extends EventTarget implements ExtEventSource {
40
41
  private static LAST_EVENT_ID_HEADER = 'Last-Event-ID';
41
- private static MAX_RETRY_TIME_MULTIPLE = 30;
42
- private static EVENT_TIMEOUT_DEFAULT = 75;
43
- private static EVENT_TIMEOUT_CHECK_INTERVAL = 2;
42
+ private static MAX_RETRY_TIME_MULTIPLIER = 12;
43
+ private static RETRY_EXPONENT = 2.6;
44
+ private static EVENT_TIMEOUT_DEFAULT = 120 * 1000;
45
+ private static EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT = 2 * 1000;
44
46
 
45
47
  CONNECTING = 0;
46
48
  OPEN = 1;
@@ -64,12 +66,13 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
64
66
  private connectionSubscription?: Subscription;
65
67
  private internalRetryTime = 100;
66
68
  private retryAttempt = 0;
67
- private connectionAttemptTime = 0;
69
+ private connectionAttemptTime: number | undefined;
68
70
  private connectionOrigin?: string;
69
71
  private reconnectTimeoutHandle?: number;
70
72
  private lastEventId?: string;
71
73
  private logger?: Logger;
72
74
  private readonly eventTimeout?: number;
75
+ private readonly eventTimeoutCheckInterval: number;
73
76
  private eventTimeoutCheckHandle?: number;
74
77
  private lastEventReceivedTime = 0;
75
78
  private eventParser = new EventParser();
@@ -79,6 +82,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
79
82
  eventSourceInit?: EventSourceInit & {
80
83
  adapter?: (url: string, requestInit: RequestInit) => Observable<Request>;
81
84
  eventTimeout?: number;
85
+ eventTimeoutCheckInterval?: number;
82
86
  logger?: Logger;
83
87
  },
84
88
  ) {
@@ -88,9 +92,11 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
88
92
  eventSourceInit?.adapter ??
89
93
  ((_url, requestInit) => of(new Request(_url, requestInit)));
90
94
  this.eventTimeout =
91
- eventSourceInit?.eventTimeout ??
92
- FetchEventSource.EVENT_TIMEOUT_DEFAULT * 1000;
93
- this.logger = eventSourceInit?.logger;
95
+ eventSourceInit?.eventTimeout ?? FetchEventSource.EVENT_TIMEOUT_DEFAULT;
96
+ this.eventTimeoutCheckInterval =
97
+ eventSourceInit?.eventTimeoutCheckInterval ??
98
+ FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL_DEFAULT;
99
+ this.logger = levelLogger(LogLevel.Info, eventSourceInit?.logger);
94
100
  }
95
101
 
96
102
  //
@@ -191,7 +197,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
191
197
  return;
192
198
  }
193
199
 
194
- this.logger?.debug?.('close requested');
200
+ this.logger?.debug?.('closing');
195
201
 
196
202
  this.readyState = this.CLOSED;
197
203
 
@@ -211,6 +217,10 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
211
217
  // Event Timeout
212
218
  //
213
219
 
220
+ private updateLastEventReceived(time: number = Date.now()) {
221
+ this.lastEventReceivedTime = time;
222
+ }
223
+
214
224
  private startEventTimeoutCheck(lastEventReceivedTime: number) {
215
225
  this.stopEventTimeoutCheck();
216
226
 
@@ -218,13 +228,13 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
218
228
  return;
219
229
  }
220
230
 
221
- this.lastEventReceivedTime = lastEventReceivedTime;
231
+ this.updateLastEventReceived(lastEventReceivedTime);
222
232
 
223
233
  this.logger?.trace?.('starting event timeout checks');
224
234
 
225
235
  this.eventTimeoutCheckHandle = window.setInterval(
226
236
  () => this.checkEventTimeout(),
227
- FetchEventSource.EVENT_TIMEOUT_CHECK_INTERVAL * 1000,
237
+ this.eventTimeoutCheckInterval,
228
238
  );
229
239
  }
230
240
 
@@ -274,7 +284,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
274
284
  return;
275
285
  }
276
286
 
277
- this.logger?.debug?.('opened');
287
+ this.logger?.info?.('opened');
278
288
 
279
289
  this.connectionOrigin = response.url;
280
290
  this.retryAttempt = 0;
@@ -336,21 +346,15 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
336
346
  private scheduleReconnect() {
337
347
  this.internalClose();
338
348
 
339
- // calculate total delay
340
- const backOffDelay = Math.pow(this.retryAttempt, 2) * this.retryTime;
341
- let retryDelay = Math.min(
342
- this.retryTime + backOffDelay,
343
- this.retryTime * FetchEventSource.MAX_RETRY_TIME_MULTIPLE,
344
- );
349
+ const lastConnectionTime = this.connectionAttemptTime
350
+ ? Date.now() - this.connectionAttemptTime
351
+ : 0;
345
352
 
346
- // Adjust delay by amount of time last connect
347
- // cycle took, except on the first attempt
348
- if (this.retryAttempt > 0) {
349
- const connectionTime = Date.now() - this.connectionAttemptTime;
350
- // Ensure delay is at least as large as
351
- // minimum retry time interval
352
- retryDelay = Math.max(retryDelay - connectionTime, this.retryTime);
353
- }
353
+ const retryDelay = FetchEventSource.calculateRetryTime(
354
+ this.retryAttempt,
355
+ this.retryTime,
356
+ lastConnectionTime,
357
+ );
354
358
 
355
359
  this.retryAttempt++;
356
360
  this.readyState = this.CONNECTING;
@@ -363,6 +367,32 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
363
367
  );
364
368
  }
365
369
 
370
+ private static calculateRetryTime(
371
+ retryAttempt: number,
372
+ retryTime: number,
373
+ lastConnectTime: number,
374
+ ): number {
375
+ const retryMultiplier = Math.min(
376
+ retryAttempt,
377
+ this.MAX_RETRY_TIME_MULTIPLIER,
378
+ );
379
+
380
+ // calculate total delay
381
+ let retryDelay = Math.pow(retryMultiplier, this.RETRY_EXPONENT) * retryTime;
382
+
383
+ // Adjust delay by amount of time last connect
384
+ // cycle took, except on the first attempt
385
+ if (retryAttempt > 0) {
386
+ retryDelay -= lastConnectTime;
387
+
388
+ // Ensure delay is at least as large as
389
+ // minimum retry time interval
390
+ retryDelay = Math.max(retryDelay, retryTime);
391
+ }
392
+
393
+ return retryDelay;
394
+ }
395
+
366
396
  private clearReconnect() {
367
397
  if (this.reconnectTimeoutHandle) {
368
398
  clearTimeout(this.reconnectTimeoutHandle);
@@ -375,7 +405,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
375
405
  //
376
406
 
377
407
  private dispatchParsedEvent = (eventInfo: EventInfo) => {
378
- this.lastEventReceivedTime = Date.now();
408
+ this.updateLastEventReceived();
379
409
 
380
410
  if (eventInfo.retry) {
381
411
  const retryTime = Number.parseInt(eventInfo.retry, 10);
@@ -385,7 +415,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
385
415
 
386
416
  this.internalRetryTime = retryTime;
387
417
  } else {
388
- this.logger?.debug?.('ignoring invalid retry timeout event', {
418
+ this.logger?.warn?.('ignoring invalid retry timeout event', {
389
419
  eventInfo,
390
420
  });
391
421
  }
@@ -398,6 +428,7 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
398
428
  eventInfo.data == null
399
429
  ) {
400
430
  // skip empty event
431
+ this.logger?.trace?.('skipping empty event');
401
432
  return;
402
433
  }
403
434
 
@@ -407,8 +438,8 @@ export class FetchEventSource extends EventTarget implements ExtEventSource {
407
438
  if (eventInfo.id.indexOf('\0') == -1) {
408
439
  this.lastEventId = eventInfo.id;
409
440
  } else {
410
- this.logger?.debug?.(
411
- 'event id contains null, unable to use for last-event-id',
441
+ this.logger?.warn?.(
442
+ 'event id contains NULL byte, unable to use for last-event-id',
412
443
  );
413
444
  }
414
445
  }
package/src/logger.ts CHANGED
@@ -20,3 +20,29 @@ export interface Logger {
20
20
  warn?(...data: unknown[]): void;
21
21
  error?(...data: unknown[]): void;
22
22
  }
23
+
24
+ export enum LogLevel {
25
+ Trace = 4,
26
+ Debug = 3,
27
+ Info = 2,
28
+ Warn = 1,
29
+ Error = 0,
30
+ None = -1,
31
+ }
32
+
33
+ export function levelLogger(
34
+ level: LogLevel,
35
+ logger?: Logger,
36
+ ): Logger | undefined {
37
+ if (!logger) {
38
+ return undefined;
39
+ }
40
+ return {
41
+ log: logger?.log?.bind(logger),
42
+ trace: level >= LogLevel.Trace ? logger?.trace?.bind(logger) : undefined,
43
+ debug: level >= LogLevel.Debug ? logger?.debug?.bind(logger) : undefined,
44
+ info: level >= LogLevel.Info ? logger?.info?.bind(logger) : undefined,
45
+ warn: level >= LogLevel.Warn ? logger?.warn?.bind(logger) : undefined,
46
+ error: level >= LogLevel.Error ? logger?.error?.bind(logger) : undefined,
47
+ };
48
+ }