From 8b8248388f642275666267fa031de6f5f1775692 Mon Sep 17 00:00:00 2001 From: Ryan Peters Date: Thu, 29 Apr 2021 11:51:45 -0400 Subject: [PATCH] format and encode query before sending --- SalesforceApiClient.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/SalesforceApiClient.cs b/SalesforceApiClient.cs index 228ab54..1a3f4e6 100644 --- a/SalesforceApiClient.cs +++ b/SalesforceApiClient.cs @@ -12,6 +12,7 @@ using System.Net.Http.Headers; using System.Text; using Newtonsoft.Json.Converters; using System.Net; +using System.Text.RegularExpressions; namespace Salesforce.NET { @@ -408,6 +409,9 @@ namespace Salesforce.NET /// public async Task> QueryAsync(string query) { + // clean up query and encode prior to sending + query = FormatQuery(query); + var queryApiUrl = await GetEndpointUrlAsync($"query?q={query}"); return await InvokeRequestAsync(async httpClient => @@ -649,6 +653,15 @@ namespace Salesforce.NET } } + private static string FormatQuery(string query) + { + query = Regex.Replace(query, "[\r\n\t]", string.Empty); + query = Regex.Replace(query, "[ ]{2,}", " "); + query = WebUtility.UrlEncode(query); + + return query; + } + #endregion } } \ No newline at end of file