From 2941be60965b68dc3736c122e7845c2a54bd2dc7 Mon Sep 17 00:00:00 2001 From: Yanlong Wang Date: Fri, 17 May 2024 09:15:37 +0800 Subject: [PATCH] fix: potential unencoded query --- backend/functions/src/services/brave-search.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/backend/functions/src/services/brave-search.ts b/backend/functions/src/services/brave-search.ts index 4bee939..eb1cc0d 100644 --- a/backend/functions/src/services/brave-search.ts +++ b/backend/functions/src/services/brave-search.ts @@ -58,8 +58,13 @@ export class BraveSearchService extends AsyncService { extraHeaders['User-Agent'] = this.threadLocal.get('userAgent'); } + const encoded = { ...query }; + if (encoded.q) { + encoded.q = (Buffer.from(encoded.q).toString('ascii') === encoded.q) ? encoded.q : encodeURIComponent(encoded.q); + } + try { - const r = await this.braveSearchHTTP.webSearch(query, { headers: extraHeaders as Record }); + const r = await this.braveSearchHTTP.webSearch(encoded, { headers: extraHeaders as Record }); return r.parsed; } catch (err: any) {