From 939d93bfda56d3ff63024bb47d875248e772caf2 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Sun, 14 Apr 2024 03:20:57 -1000 Subject: [PATCH] Add automatic decoding of URIs when parsing queries --- packages/request-parser/index.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/request-parser/index.ts b/packages/request-parser/index.ts index 05ff3fb3..e9b4fd83 100644 --- a/packages/request-parser/index.ts +++ b/packages/request-parser/index.ts @@ -163,14 +163,19 @@ export class RequestParser { const url = new URL(this.request.url); for (const [key, value] of url.searchParams.entries()) { - if (key.endsWith("[]")) { - const arrayKey = key.slice(0, -2) as keyof T; + if (decodeURIComponent(key).endsWith("[]")) { + const arrayKey = decodeURIComponent(key).slice( + 0, + -2, + ) as keyof T; if (!result[arrayKey]) { result[arrayKey] = [] as T[keyof T]; } - (result[arrayKey] as string[]).push(value); + (result[arrayKey] as string[]).push(decodeURIComponent(value)); } else { - result[key as keyof T] = value as T[keyof T]; + result[key as keyof T] = decodeURIComponent( + value, + ) as T[keyof T]; } } return result;