From 613c5027c108626cbc8c0f8c0390dc59aea2f167 Mon Sep 17 00:00:00 2001 From: Daniel Kristiansen Date: Wed, 2 Sep 2026 11:05:12 +0200 Subject: [PATCH] refactor: use LINQ Where in pagination link builder --- JsonApiToolkit/Mapping/JsonApiMapper.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/JsonApiToolkit/Mapping/JsonApiMapper.cs b/JsonApiToolkit/Mapping/JsonApiMapper.cs index 5691753..cbcc666 100644 --- a/JsonApiToolkit/Mapping/JsonApiMapper.cs +++ b/JsonApiToolkit/Mapping/JsonApiMapper.cs @@ -421,14 +421,15 @@ bool preserveQuery string query = queryStart >= 0 ? selfLink[queryStart..] : string.Empty; var builder = new Microsoft.AspNetCore.Http.Extensions.QueryBuilder(); - foreach (var kvp in Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery(query)) + foreach ( + var kvp in Microsoft + .AspNetCore.WebUtilities.QueryHelpers.ParseQuery(query) + .Where(kvp => + !kvp.Key.Equals("page[number]", StringComparison.OrdinalIgnoreCase) + && !kvp.Key.Equals("page[size]", StringComparison.OrdinalIgnoreCase) + ) + ) { - if ( - kvp.Key.Equals("page[number]", StringComparison.OrdinalIgnoreCase) - || kvp.Key.Equals("page[size]", StringComparison.OrdinalIgnoreCase) - ) - continue; - foreach (string? value in kvp.Value) builder.Add(kvp.Key, value ?? string.Empty); }