Skip to content
This repository was archived by the owner on Nov 9, 2023. It is now read-only.

Commit 85717cc

Browse files
authored
Add early return if JSON RPC request is not found (#35)
1 parent c1e0526 commit 85717cc

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

jest.config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ module.exports = {
2121
// An object that configures minimum threshold enforcement for coverage results
2222
coverageThreshold: {
2323
global: {
24-
branches: 86.95,
24+
branches: 91.3,
2525
functions: 100,
26-
lines: 97.51,
27-
statements: 97.51,
26+
lines: 98.51,
27+
statements: 98.51,
2828
},
2929
},
3030

src/createStreamMiddleware.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ export default function createStreamMiddleware(options: Options = {}) {
104104
const context = idMap[res.id as unknown as string];
105105
if (!context) {
106106
console.warn(`StreamMiddleware - Unknown response id "${res.id}"`);
107+
return;
107108
}
108109

109110
delete idMap[res.id as unknown as string];

src/index.test.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,17 @@ describe('retry logic in middleware connected to a port', () => {
223223
}).toThrow('StreamMiddleware - Retry limit exceeded for request id');
224224
});
225225

226+
it('does not throw error when response is received for request not in map', async () => {
227+
const res = { id: 1, jsonrpc, result: 'test' };
228+
229+
messageConsumer(res);
230+
231+
expect(() => {
232+
messageConsumer(res);
233+
messageConsumer(res);
234+
}).not.toThrow();
235+
});
236+
226237
it('does not retry if the request has no id', async () => {
227238
// request and expected result
228239
const req = { id: undefined, jsonrpc, method: 'test' };

0 commit comments

Comments
 (0)