Skip to content

Commit df41f81

Browse files
committed
Add error handling for single poll.
1 parent 11e430c commit df41f81

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

packages/sdk/browser/src/BrowserDataManager.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import {
22
BaseDataManager,
33
Configuration,
44
Context,
5+
DataSourceErrorKind,
56
DataSourcePaths,
67
DataSourceState,
78
FlagManager,
@@ -83,10 +84,22 @@ export default class BrowserDataManager extends BaseDataManager {
8384
try {
8485
this.dataSourceStatusManager.requestStateUpdate(DataSourceState.Initializing);
8586
const payload = await requestor.requestPayload();
86-
const listeners = this.createStreamListeners(context, identifyResolve);
87-
const putListener = listeners.get('put');
88-
putListener!.processJson(putListener!.deserializeData(payload));
87+
try {
88+
const listeners = this.createStreamListeners(context, identifyResolve);
89+
const putListener = listeners.get('put');
90+
putListener!.processJson(putListener!.deserializeData(payload));
91+
} catch (e: any) {
92+
this.dataSourceStatusManager.reportError(
93+
DataSourceErrorKind.InvalidData,
94+
e.message ?? 'Could not parse poll response',
95+
);
96+
}
8997
} catch (e: any) {
98+
this.dataSourceStatusManager.reportError(
99+
DataSourceErrorKind.NetworkError,
100+
e.message ?? 'unexpected network error',
101+
e.status,
102+
);
90103
identifyReject(e);
91104
}
92105

0 commit comments

Comments
 (0)