Skip to content

Commit 216d181

Browse files
authored
Merge pull request #42 from contentstack/enh/DX-9375-OauthService-migration
refactor: migrate from Newtonsoft.Json to System.Text.Json for serialization in OAuthService and tests
2 parents 8440549 + 468ac25 commit 216d181

3 files changed

Lines changed: 12 additions & 9 deletions

File tree

‎contentstack.model.generator.tests/OAuthServiceTests.cs‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using contentstack.CMA;
66
using contentstack.CMA.OAuth;
77
using System.Net.Http;
8-
using Newtonsoft.Json;
98
using System.Collections.Generic;
109

1110
namespace contentstack.model.generator.tests

‎contentstack.model.generator.tests/OAuthTokenExchangeTests.cs‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Text.Json;
23
using contentstack.CMA.OAuth;
34
using Xunit;
45

@@ -61,8 +62,9 @@ public void OAuthTokenResponse_ShouldBeSerializable()
6162
};
6263

6364

64-
var json = Newtonsoft.Json.JsonConvert.SerializeObject(response);
65-
var deserializedResponse = Newtonsoft.Json.JsonConvert.DeserializeObject<OAuthTokenResponse>(json);
65+
var json = JsonSerializer.Serialize(response);
66+
var options = new JsonSerializerOptions { PropertyNameCaseInsensitive = true };
67+
var deserializedResponse = JsonSerializer.Deserialize<OAuthTokenResponse>(json, options);
6668

6769

6870
Assert.NotNull(deserializedResponse);

‎contentstack.model.generator/CMA/OAuth/OAuthService.cs‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using System.Security.Cryptography;
55
using System.Text;
66
using System.Threading.Tasks;
7-
using Newtonsoft.Json;
7+
using System.Text.Json;
88
using System.Text.Json.Serialization;
99

1010
namespace contentstack.CMA.OAuth
@@ -171,14 +171,15 @@ public static async Task<OAuthTokenResponse> ExchangeCodeForTokenAsync(Contentst
171171

172172
// Parse response
173173
string responseContent = await response.Content.ReadAsStringAsync();
174-
var tokenResponse = JsonConvert.DeserializeObject<OAuthTokenResponse>(responseContent);
175-
174+
var serializerOptions = new JsonSerializerOptions { PropertyNameCaseInsensitive = true };
175+
var tokenResponse = JsonSerializer.Deserialize<OAuthTokenResponse>(responseContent, serializerOptions);
176+
176177
// Set expiration time if not already set
177178
if (tokenResponse.ExpiresAt == default(DateTime) && tokenResponse.ExpiresIn > 0)
178179
{
179180
tokenResponse.ExpiresAt = DateTime.UtcNow.AddSeconds(tokenResponse.ExpiresIn);
180181
}
181-
182+
182183
return tokenResponse;
183184
}
184185
}
@@ -231,8 +232,9 @@ public static async Task<OAuthTokenResponse> RefreshTokenAsync(ContentstackOptio
231232

232233
// Parse response
233234
string responseContent = await response.Content.ReadAsStringAsync();
234-
var tokenResponse = JsonConvert.DeserializeObject<OAuthTokenResponse>(responseContent);
235-
235+
var serializerOptions = new JsonSerializerOptions { PropertyNameCaseInsensitive = true };
236+
var tokenResponse = JsonSerializer.Deserialize<OAuthTokenResponse>(responseContent, serializerOptions);
237+
236238
// Set expiration time if not already set
237239
if (tokenResponse.ExpiresAt == default(DateTime) && tokenResponse.ExpiresIn > 0)
238240
{

0 commit comments

Comments
 (0)