public void OnException(ExceptionContext context) { DomainException domainException = context.Exception as DomainException; if (domainException != null) { string json = JsonConvert.SerializeObject(domainException.Message); context.Result = new BadRequestObjectResult(json); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; } ApplicationException applicationException = context.Exception as ApplicationException; if (applicationException != null) { string json = JsonConvert.SerializeObject(applicationException.Message); context.Result = new BadRequestObjectResult(json); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; } InfrastructureException infrastructureException = context.Exception as InfrastructureException; if (infrastructureException != null) { string json = JsonConvert.SerializeObject(infrastructureException.Message); context.Result = new BadRequestObjectResult(json); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; } }
public IEnumerable <MoviesViewModel> ConsultarFilmes(MoviesViewModel filtro) { IEnumerable <MoviesViewModel> listaFilmes = new List <MoviesViewModel>(); try { using (var client = new HttpClient()) { client.BaseAddress = new System.Uri(UriFilmes); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); //GET var response = client.GetAsync(""); response.Wait(); var result = response.Result; if (result.IsSuccessStatusCode) { var movies = result.Content.ReadAsAsync <IList <MoviesViewModel> >(); movies.Wait(); listaFilmes = movies.Result; } } return(listaFilmes); } catch (Exception e) { var ex = new InfrastructureException(e); throw ex; } }
private Task HandleExceptionAsync(HttpContext context, Exception ex) { _logger.LogError( $"Error while processing request {context.Request.Method} {context.Request.Path}: {ex.Message}"); if (ex is AutoMapperMappingException mappingException && mappingException.InnerException != null) { ex = mappingException.InnerException; } var code = ex switch { ArgumentException _ => HttpStatusCode.BadRequest, BadDataException _ => HttpStatusCode.BadRequest, DataChangedException _ => HttpStatusCode.BadRequest, ForbiddenException _ => HttpStatusCode.Forbidden, InfrastructureException _ => HttpStatusCode.InternalServerError, InvalidDataException _ => HttpStatusCode.BadRequest, NotFoundException _ => HttpStatusCode.NotFound, UnauthorizedException _ => HttpStatusCode.Unauthorized, _ => HttpStatusCode.InternalServerError }; var result = JsonSerializer.Serialize(new { error = ex.Message }); context.Response.ContentType = "application/json"; context.Response.StatusCode = (int)code; return(context.Response.WriteAsync(result)); } }
public Task <ExceptionResponse> Map(System.Exception exception) { return(exception switch { DomainException ex => _exceptionResponseFactory.Create(ex), AppException ex => _exceptionResponseFactory.Create(ex), InfrastructureException ex => _exceptionResponseFactory.Create(ex), _ => _exceptionResponseFactory.Create("error", "There was an error") });
private async static Task HandleErrorAsync(HttpContext context, Exception exception) { var errorCode = "Error"; var message = exception.Message; var statusCode = 400; (errorCode, message) = exception switch { InfrastructureException ex => (ex.Code, ex.Message), ApplicationException ex => (ex.Code, ex.Message), DomainException ex => (ex.Code, ex.Message), _ => ("Error", "There was an error.") }; context.Response.StatusCode = (int)statusCode; await context.Response.WriteAsJsonAsync(new { errorCode, message }); }
public void OnException(ExceptionContext context) { var jsonSettings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; if (context.Exception is DomainException) { DomainException domainException = context.Exception as DomainException; string json = JsonConvert.SerializeObject(new ErrorResult(domainException), jsonSettings); context.Result = new BadRequestObjectResult(json); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; } else if (context.Exception is CleanArchitecture.Application.ApplicationException) { CleanArchitecture.Application.ApplicationException applicationException = context.Exception as CleanArchitecture.Application.ApplicationException; string json = JsonConvert.SerializeObject(new ErrorResult(applicationException), jsonSettings); context.Result = new BadRequestObjectResult(json); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; } else if (context.Exception is InfrastructureException) { InfrastructureException infrastructureException = context.Exception as InfrastructureException; string json = JsonConvert.SerializeObject(new ErrorResult(infrastructureException), jsonSettings); context.Result = new BadRequestObjectResult(json); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; } else { string json = JsonConvert.SerializeObject(new ErrorResult(context.Exception), jsonSettings); context.Result = new ObjectResult(json); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError; } }