From 92b4c68de0d1e640108d7d840e080c069e975bf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Lucas=20de=20Oliveira=20Lopes?= <55464917+jlucaso1@users.noreply.github.com> Date: Fri, 4 Jul 2025 19:25:19 -0300 Subject: [PATCH] fix: Handle data: URIs in getStream to prevent server crash (#1524) --- src/Utils/messages-media.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Utils/messages-media.ts b/src/Utils/messages-media.ts index 61d94f8..fd78e94 100644 --- a/src/Utils/messages-media.ts +++ b/src/Utils/messages-media.ts @@ -317,7 +317,14 @@ export const getStream = async (item: WAMediaUpload, opts?: AxiosRequestConfig) return { stream: item.stream, type: 'readable' } as const } - if (item.url.toString().startsWith('http://') || item.url.toString().startsWith('https://')) { + const urlStr = item.url.toString() + + if (urlStr.startsWith('data:')) { + const buffer = Buffer.from(urlStr.split(',')[1], 'base64') + return { stream: toReadable(buffer), type: 'buffer' } as const + } + + if (urlStr.startsWith('http://') || urlStr.startsWith('https://')) { return { stream: await getHttpStream(item.url, opts), type: 'remote' } as const }