func appendingQueryParameters()

in sdk/core/AzureCore/Source/Util/URLUtil.swift [30:45]


    func appendingQueryParameters(_ paramsIn: RequestParameters) -> URL? {
        let queryParams = paramsIn.values(for: .query)
        guard !queryParams.isEmpty else { return self }
        guard var urlComps = URLComponents(url: self, resolvingAgainstBaseURL: true) else { return nil }

        let queryItems = queryParams.map { item in
            URLQueryItem(
                name: item.key.requestString,
                value: item.encodingStrategy == .skipEncoding ? item.value.requestString : item.value.requestString
                    .addingPercentEncoding(withAllowedCharacters: .azureUrlQueryAllowed)
            )
        }
        let existing = urlComps.percentEncodedQueryItems ?? []
        urlComps.percentEncodedQueryItems = existing + queryItems
        return urlComps.url
    }