Skip to content

Commit f94be1d

Browse files
authored
fix: remove etag from streaming parsing (#689)
1 parent 9b95247 commit f94be1d

File tree

2 files changed

+6
-17
lines changed

2 files changed

+6
-17
lines changed

src/repository/index.ts

+1-7
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,7 @@ export default class Repository extends EventEmitter implements EventEmitter {
150150

151151
private handleFlagsFromStream(event: { data: string }) {
152152
try {
153-
const data: ClientFeaturesResponse & { meta: { etag: string } } = JSON.parse(event.data);
154-
const etag = data.meta.etag;
155-
if (etag !== null) {
156-
this.etag = etag;
157-
} else {
158-
this.etag = undefined;
159-
}
153+
const data: ClientFeaturesResponse = JSON.parse(event.data);
160154
this.save(data, true);
161155
} catch (err) {
162156
this.emit(UnleashEvents.Error, err);

src/test/repository.test.ts

+5-10
Original file line numberDiff line numberDiff line change
@@ -1363,7 +1363,7 @@ test('Stopping repository should stop storage provider updates', async (t) => {
13631363
});
13641364

13651365
test('Streaming', async (t) => {
1366-
t.plan(7);
1366+
t.plan(5);
13671367
const url = 'http://unleash-test-streaming.app';
13681368
const feature = {
13691369
name: 'feature',
@@ -1408,7 +1408,7 @@ test('Streaming', async (t) => {
14081408
// first connection is ignored, since we do regular fetch
14091409
eventSource.emit('unleash-connected', {
14101410
type: 'unleash-connected',
1411-
data: JSON.stringify({ meta: {}, features: [{ ...feature, name: 'intialConnectedIgnored' }] }),
1411+
data: JSON.stringify({ features: [{ ...feature, name: 'intialConnectedIgnored' }] }),
14121412
});
14131413

14141414
const before = repo.getToggles();
@@ -1417,22 +1417,17 @@ test('Streaming', async (t) => {
14171417
// update with feature
14181418
eventSource.emit('unleash-updated', {
14191419
type: 'unleash-updated',
1420-
data: JSON.stringify({ meta: {}, features: [{ ...feature, name: 'firstUpdate' }] }),
1420+
data: JSON.stringify({ features: [{ ...feature, name: 'firstUpdate' }] }),
14211421
});
14221422
const firstUpdate = repo.getToggles();
14231423
t.deepEqual(firstUpdate, [{ ...feature, name: 'firstUpdate' }]);
1424-
// @ts-expect-error
1425-
t.is(repo.etag, undefined);
14261424

1427-
// update with etag
14281425
eventSource.emit('unleash-updated', {
14291426
type: 'unleash-updated',
1430-
data: JSON.stringify({ meta: { etag: 'updated' }, features: [] }),
1427+
data: JSON.stringify({ features: [] }),
14311428
});
14321429
const secondUpdate = repo.getToggles();
14331430
t.deepEqual(secondUpdate, []);
1434-
// @ts-expect-error
1435-
t.is(repo.etag, 'updated');
14361431

14371432
// SSE error translated to repo warning
14381433
repo.on('warn', (msg) => {
@@ -1443,7 +1438,7 @@ test('Streaming', async (t) => {
14431438
// re-connect simulation
14441439
eventSource.emit('unleash-connected', {
14451440
type: 'unleash-connected',
1446-
data: JSON.stringify({ meta: {}, features: [{ ...feature, name: 'reconnectUpdate' }] }),
1441+
data: JSON.stringify({ features: [{ ...feature, name: 'reconnectUpdate' }] }),
14471442
});
14481443
const reconnectUpdate = repo.getToggles();
14491444
t.deepEqual(reconnectUpdate, [{ ...feature, name: 'reconnectUpdate' }]);

0 commit comments

Comments
 (0)