From 395cb8314b36c81f005f67c1d0681cab99df0fdf Mon Sep 17 00:00:00 2001 From: Frank-Wiebeler Date: Sun, 13 Oct 2024 09:17:17 +0200 Subject: [PATCH] -FIX: In case the agrirouter does not return an error in an expected structure, we return the raw message --- .../agrirouter-sdk-dotnet-standard-api.csproj | 4 ++-- .../Service/Onboard/OnboardService.cs | 7 ++++++- .../Service/Onboard/RevokeService.cs | 3 ++- .../agrirouter-sdk-dotnet-standard-impl.csproj | 4 ++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/agrirouter-sdk-dotnet-standard-api/agrirouter-sdk-dotnet-standard-api.csproj b/agrirouter-sdk-dotnet-standard-api/agrirouter-sdk-dotnet-standard-api.csproj index fc43faf..8b4b228 100644 --- a/agrirouter-sdk-dotnet-standard-api/agrirouter-sdk-dotnet-standard-api.csproj +++ b/agrirouter-sdk-dotnet-standard-api/agrirouter-sdk-dotnet-standard-api.csproj @@ -11,8 +11,8 @@ https://github.com/DKE-Data/agrirouter-sdk-dotnet-standard https://github.com/DKE-Data/agrirouter-sdk-dotnet-standard/blob/develop/LICENSE https://github.com/DKE-Data/agrirouter-sdk-dotnet-standard - 3.9.0 - 3.9.0 + 3.9.1 + 3.9.1 DKE-Data GmbH & Co. KG diff --git a/agrirouter-sdk-dotnet-standard-impl/Service/Onboard/OnboardService.cs b/agrirouter-sdk-dotnet-standard-impl/Service/Onboard/OnboardService.cs index 66fddc5..5247384 100644 --- a/agrirouter-sdk-dotnet-standard-impl/Service/Onboard/OnboardService.cs +++ b/agrirouter-sdk-dotnet-standard-impl/Service/Onboard/OnboardService.cs @@ -70,7 +70,12 @@ public OnboardResponse Onboard(OnboardParameters onboardParameters) if (!httpResponseMessage.IsSuccessStatusCode) { var onboardErrorResponse = JsonConvert.DeserializeObject(result); - throw new OnboardException(httpResponseMessage.StatusCode, onboardErrorResponse.OnboardError); + throw new OnboardException(httpResponseMessage.StatusCode, onboardErrorResponse?.OnboardError ?? new OnboardError() + { + Code = "Unstructured", + Message = result + } + ); } var onboardingResponse = JsonConvert.DeserializeObject(result, typeof(OnboardResponse)); diff --git a/agrirouter-sdk-dotnet-standard-impl/Service/Onboard/RevokeService.cs b/agrirouter-sdk-dotnet-standard-impl/Service/Onboard/RevokeService.cs index 5542e1e..1e2706c 100644 --- a/agrirouter-sdk-dotnet-standard-impl/Service/Onboard/RevokeService.cs +++ b/agrirouter-sdk-dotnet-standard-impl/Service/Onboard/RevokeService.cs @@ -63,7 +63,8 @@ public void Revoke(RevokeParameters revokeParameters, string privateKey) var httpResponseMessage = _httpClient.SendAsync(httpRequestMessage).Result; if (!httpResponseMessage.IsSuccessStatusCode) { - var onboardErrorResponse = JsonConvert.DeserializeObject(httpResponseMessage.Content.ReadAsStringAsync().Result); + var result = httpResponseMessage.Content.ReadAsStringAsync().Result; + var onboardErrorResponse = JsonConvert.DeserializeObject(result); throw new RevokeException(httpResponseMessage.StatusCode, onboardErrorResponse.OnboardError); } } diff --git a/agrirouter-sdk-dotnet-standard-impl/agrirouter-sdk-dotnet-standard-impl.csproj b/agrirouter-sdk-dotnet-standard-impl/agrirouter-sdk-dotnet-standard-impl.csproj index 32076fd..1e733b1 100644 --- a/agrirouter-sdk-dotnet-standard-impl/agrirouter-sdk-dotnet-standard-impl.csproj +++ b/agrirouter-sdk-dotnet-standard-impl/agrirouter-sdk-dotnet-standard-impl.csproj @@ -11,8 +11,8 @@ https://github.com/DKE-Data/agrirouter-sdk-dotnet-standard https://github.com/DKE-Data/agrirouter-sdk-dotnet-standard/blob/develop/LICENSE https://github.com/DKE-Data/agrirouter-sdk-dotnet-standard - 3.9.0 - 3.9.0 + 3.9.1 + 3.9.1 DKE-Data GmbH & Co. KG