From 4410790bc096826bc11554098f846e3acb59589a Mon Sep 17 00:00:00 2001 From: sephrat <34862846+sephrat@users.noreply.github.com> Date: Wed, 10 Nov 2021 22:05:25 +0100 Subject: [PATCH] fix(search): Fixed some cases where search wouldn't work correctly (#4398) [skip ci] --- src/Ombi.Api/ApiHelper.cs | 2 ++ src/Ombi/ClientApp/src/app/services/searchV2.service.ts | 2 +- src/Ombi/Controllers/V2/SearchController.cs | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Ombi.Api/ApiHelper.cs b/src/Ombi.Api/ApiHelper.cs index fa9d3e7ab..f88525869 100644 --- a/src/Ombi.Api/ApiHelper.cs +++ b/src/Ombi.Api/ApiHelper.cs @@ -66,6 +66,8 @@ namespace Ombi.Api startingTag = builder.Query.Contains("?") ? "&" : "?"; } + value = Uri.EscapeDataString(value); + builder.Query = hasQuery ? $"{builder.Query}{startingTag}{parameter}={value}" : $"{startingTag}{parameter}={value}"; diff --git a/src/Ombi/ClientApp/src/app/services/searchV2.service.ts b/src/Ombi/ClientApp/src/app/services/searchV2.service.ts index 17d91b10f..9e065ea97 100644 --- a/src/Ombi/ClientApp/src/app/services/searchV2.service.ts +++ b/src/Ombi/ClientApp/src/app/services/searchV2.service.ts @@ -21,7 +21,7 @@ export class SearchV2Service extends ServiceHelpers { } public multiSearch(searchTerm: string, filter: SearchFilter): Observable { - return this.http.post(`${this.url}/multi/${searchTerm}`, filter); + return this.http.post(`${this.url}/multi/${encodeURIComponent(searchTerm)}`, filter); } public getFullMovieDetails(theMovieDbId: number): Observable { return this.http.get(`${this.url}/Movie/${theMovieDbId}`); diff --git a/src/Ombi/Controllers/V2/SearchController.cs b/src/Ombi/Controllers/V2/SearchController.cs index bdd40b298..ac5905c33 100644 --- a/src/Ombi/Controllers/V2/SearchController.cs +++ b/src/Ombi/Controllers/V2/SearchController.cs @@ -52,7 +52,7 @@ namespace Ombi.Controllers.V2 [HttpPost("multi/{searchTerm}")] public async Task> MultiSearch(string searchTerm, [FromBody] MultiSearchFilter filter) { - return await _multiSearchEngine.MultiSearch(searchTerm, filter, Request.HttpContext.RequestAborted); + return await _multiSearchEngine.MultiSearch(Uri.UnescapeDataString(searchTerm), filter, Request.HttpContext.RequestAborted); } ///