public virtual async Task <Either <TL, ErrorResponse> > RequestAsync <TL>(Func <Task <TL> > action) { try { return(await action( )); } catch (ApiException e) { Enums.DataError dataError = e.StatusCode.ToDataError( ); if (e.StatusCode.Equals(HttpStatusCode.BadRequest) && e.Content.TryReadAsModelState(out string error)) { return(new ErrorResponse(dataError) { BadRequestMessage = error }); } return(new ErrorResponse(dataError)); } catch (Exception) { return(new ErrorResponse(Enums.DataError.SomethingBroke)); } }
public ErrorResponse(Enums.DataError errorType) { Type = errorType; }