From 986461f6fe776c41e6baefdcc5c5482d75fbc9fc Mon Sep 17 00:00:00 2001 From: Ruben Verborgh Date: Thu, 3 Sep 2020 14:32:42 +0200 Subject: [PATCH] fix: Ensure stream is fully buffered. Needs a more permanent fix for Very Large Streams. --- src/storage/InMemoryResourceStore.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/storage/InMemoryResourceStore.ts b/src/storage/InMemoryResourceStore.ts index 46e7bb007..650080cea 100644 --- a/src/storage/InMemoryResourceStore.ts +++ b/src/storage/InMemoryResourceStore.ts @@ -151,10 +151,11 @@ export class InMemoryResourceStore implements ResourceStore { // Note: when converting to a complete ResourceStore and using readable-stream // object mode should be set correctly here (now fixed due to Node 10) const source = this.store[path]; - const streamInternal = new PassThrough({ writableObjectMode: true, readableObjectMode: true }); - const streamOutput = new PassThrough({ writableObjectMode: true, readableObjectMode: true }); - source.data.pipe(streamInternal); + const objectMode = { writableObjectMode: true, readableObjectMode: true }; + const streamOutput = new PassThrough(objectMode); + const streamInternal = new PassThrough({ ...objectMode, highWaterMark: Number.MAX_SAFE_INTEGER }); source.data.pipe(streamOutput); + source.data.pipe(streamInternal); source.data = streamInternal;