mirror of
https://github.com/bitwarden/mobile.git
synced 2024-09-12 01:28:26 +02:00
better error parsing
This commit is contained in:
parent
0a3c83288e
commit
54f8771a9c
@ -8,6 +8,7 @@ using Plugin.Connectivity.Abstractions;
|
||||
using Bit.App.Abstractions;
|
||||
using System.Net;
|
||||
using XLabs.Ioc;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace Bit.App.Repositories
|
||||
{
|
||||
@ -191,7 +192,17 @@ namespace Bit.App.Repositories
|
||||
if(statusCode >= 400 && statusCode <= 500)
|
||||
{
|
||||
var responseContent = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
|
||||
var errorResponseModel = JsonConvert.DeserializeObject<ErrorResponse>(responseContent);
|
||||
|
||||
ErrorResponse errorResponseModel = null;
|
||||
var errorResponse = JObject.Parse(responseContent);
|
||||
if(errorResponse["ErrorModel"] != null && errorResponse["ErrorModel"]["Message"] != null)
|
||||
{
|
||||
errorResponseModel = errorResponse["ErrorModel"].ToObject<ErrorResponse>();
|
||||
}
|
||||
else if(errorResponse["Message"] != null)
|
||||
{
|
||||
errorResponseModel = errorResponse.ToObject<ErrorResponse>();
|
||||
}
|
||||
|
||||
if(errorResponseModel != null)
|
||||
{
|
||||
@ -210,10 +221,11 @@ namespace Bit.App.Repositories
|
||||
errors.Add(new ApiError { Message = errorResponseModel.Message });
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
errors.Add(new ApiError { Message = "An unknown error has occured." });
|
||||
}
|
||||
}
|
||||
|
||||
if(errors.Count == 0)
|
||||
{
|
||||
errors.Add(new ApiError { Message = "An unknown error has occured." });
|
||||
}
|
||||
|
||||
return errors;
|
||||
|
Loading…
Reference in New Issue
Block a user