From 4ba828320e36d5cf936dc4a6eb11cca12084c66c Mon Sep 17 00:00:00 2001 From: Adhiraj Singh Date: Sat, 18 Feb 2023 13:03:58 +0530 Subject: [PATCH] feat: handle maxContentLength in downloading media --- src/Utils/messages-media.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Utils/messages-media.ts b/src/Utils/messages-media.ts index 246daf2..5e979e4 100644 --- a/src/Utils/messages-media.ts +++ b/src/Utils/messages-media.ts @@ -320,6 +320,20 @@ export const encryptedStream = async( try { for await (const data of stream) { fileLength += data.length + + if( + type === 'remote' + && opts?.maxContentLength + && fileLength + data.length > opts.maxContentLength + ) { + throw new Boom( + `content length exceeded when encrypting "${type}"`, + { + data: { media, type } + } + ) + } + sha256Plain = sha256Plain.update(data) if(writeStream) { if(!writeStream.write(data)) {