better error handling in base repo

This commit is contained in:
Kyle Spearrin 2016-12-24 11:47:29 -05:00
parent 9682abdded
commit 8b10ee0028

View file

@ -52,7 +52,7 @@ namespace Bit.App.Repositories
var errors = await ParseErrorsAsync(response).ConfigureAwait(false);
return ApiResult<T>.Failed(response.StatusCode, errors.ToArray());
}
catch(JsonReaderException)
catch
{ }
return ApiResult<T>.Failed(response.StatusCode,
@ -66,7 +66,7 @@ namespace Bit.App.Repositories
var errors = await ParseErrorsAsync(response).ConfigureAwait(false);
return ApiResult.Failed(response.StatusCode, errors.ToArray());
}
catch(JsonReaderException)
catch
{ }
return ApiResult.Failed(response.StatusCode,
@ -82,7 +82,9 @@ namespace Bit.App.Repositories
var responseContent = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
var errorResponseModel = JsonConvert.DeserializeObject<ErrorResponse>(responseContent);
if(errorResponseModel.ValidationErrors.Count > 0)
if(errorResponseModel != null)
{
if((errorResponseModel.ValidationErrors?.Count ?? 0) > 0)
{
foreach(var valError in errorResponseModel.ValidationErrors)
{
@ -97,6 +99,11 @@ namespace Bit.App.Repositories
errors.Add(new ApiError { Message = errorResponseModel.Message });
}
}
else
{
errors.Add(new ApiError { Message = "An unknown error has occured." });
}
}
return errors;
}