Skip to content

Commit 3e76857

Browse files
authored
Merge pull request #1207 from narengogi/bug/stream-transform-unhandled-rejection-resource-cleanup
[bug] clean up resources during unhandled rejections from inside stream transforms
2 parents b8d0ba5 + 405616e commit 3e76857

File tree

1 file changed

+30
-20
lines changed

1 file changed

+30
-20
lines changed

src/handlers/streamHandler.ts

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -310,31 +310,41 @@ export function handleStreamingMode(
310310

311311
if (proxyProvider === BEDROCK) {
312312
(async () => {
313-
for await (const chunk of readAWSStream(
314-
reader,
315-
responseTransformer,
316-
fallbackChunkId,
317-
strictOpenAiCompliance,
318-
gatewayRequest
319-
)) {
320-
await writer.write(encoder.encode(chunk));
313+
try {
314+
for await (const chunk of readAWSStream(
315+
reader,
316+
responseTransformer,
317+
fallbackChunkId,
318+
strictOpenAiCompliance,
319+
gatewayRequest
320+
)) {
321+
await writer.write(encoder.encode(chunk));
322+
}
323+
} catch (error) {
324+
console.error(error);
325+
} finally {
326+
writer.close();
321327
}
322-
writer.close();
323328
})();
324329
} else {
325330
(async () => {
326-
for await (const chunk of readStream(
327-
reader,
328-
splitPattern,
329-
responseTransformer,
330-
isSleepTimeRequired,
331-
fallbackChunkId,
332-
strictOpenAiCompliance,
333-
gatewayRequest
334-
)) {
335-
await writer.write(encoder.encode(chunk));
331+
try {
332+
for await (const chunk of readStream(
333+
reader,
334+
splitPattern,
335+
responseTransformer,
336+
isSleepTimeRequired,
337+
fallbackChunkId,
338+
strictOpenAiCompliance,
339+
gatewayRequest
340+
)) {
341+
await writer.write(encoder.encode(chunk));
342+
}
343+
} catch (error) {
344+
console.error(error);
345+
} finally {
346+
writer.close();
336347
}
337-
writer.close();
338348
})();
339349
}
340350

0 commit comments

Comments
 (0)