From 137bf0e5a8f68f3fafa31d4d320521149b6e0606 Mon Sep 17 00:00:00 2001 From: Dominika Gajdova Date: Wed, 8 May 2024 17:32:13 +0200 Subject: [PATCH] feat: ensure url query parameters are sorted --- Sources/Networking/Core/Requestable+Convenience.swift | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Sources/Networking/Core/Requestable+Convenience.swift b/Sources/Networking/Core/Requestable+Convenience.swift index 1e3bd543..10a5c2c6 100644 --- a/Sources/Networking/Core/Requestable+Convenience.swift +++ b/Sources/Networking/Core/Requestable+Convenience.swift @@ -109,9 +109,12 @@ public extension Requestable { // MARK: Build Query Items private extension Requestable { func buildPercentEncodedQueryItems(urlParameters: [String: Any]) -> [URLQueryItem] { - urlParameters - .map { key, value -> [URLQueryItem] in - buildPercentEncodedQueryItem(key: key, value: value) + urlParameters.keys.sorted() + .map { key -> [URLQueryItem] in + guard let value = urlParameters[key] else { + return [] + } + return buildPercentEncodedQueryItem(key: key, value: value) } .flatMap { $0 } }