@Override public Response handleThrowable( Throwable e, Optional<? extends ApiRequest> request, ContainerRequestContext requestContext ) { if (e instanceof RequestValidationException) { LOG.debug(e.getMessage(), e); RequestValidationException rve = (RequestValidationException) e; return Response.status(rve.getStatus()).entity(rve.getErrorHttpMsg()).build(); } else if (e instanceof IOException) { String msg = String.format("Internal server error. IOException : %s", e.getMessage()); LOG.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } else { String msg = ErrorMessageFormat.REQUEST_PROCESSING_EXCEPTION.format(e.getMessage()); LOG.info(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build(); } } }
@Override public Response handleThrowable( Throwable e, Optional<? extends ApiRequest> request, ContainerRequestContext requestContext ) { if (e instanceof RequestValidationException) { LOG.debug(e.getMessage(), e); RequestValidationException rve = (RequestValidationException) e; return Response.status(rve.getStatus()).entity(rve.getErrorHttpMsg()).build(); } else if (e instanceof IOException) { String msg = String.format("Internal server error. IOException : %s", e.getMessage()); LOG.error(msg, e); return Response.status(INTERNAL_SERVER_ERROR).entity(msg).build(); } else { String msg = ErrorMessageFormat.REQUEST_PROCESSING_EXCEPTION.format(e.getMessage()); LOG.info(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } }
@Override public Response handleThrowable( Throwable e, Optional<? extends ApiRequest> request, ContainerRequestContext requestContext ) { if (e instanceof RequestValidationException) { LOG.debug(e.getMessage(), e); RequestValidationException rve = (RequestValidationException) e; return Response.status(rve.getStatus()).entity(rve.getErrorHttpMsg()).build(); } else if (e instanceof JsonProcessingException) { String msg = ErrorMessageFormat.INTERNAL_SERVER_ERROR_ON_JSON_PROCESSING.format(e.getMessage()); LOG.error(msg, e); return Response.status(INTERNAL_SERVER_ERROR).entity(msg).build(); } else { String msg = ErrorMessageFormat.REQUEST_PROCESSING_EXCEPTION.format(e.getMessage()); LOG.info(msg, e); return Response.status(Response.Status.BAD_REQUEST).entity(msg).build(); } } }
@Override public Response handleThrowable( Throwable e, Optional<? extends ApiRequest> request, ContainerRequestContext requestContext ) { if (e instanceof RequestValidationException) { LOG.debug(e.getMessage(), e); RequestValidationException rve = (RequestValidationException) e; return Response.status(rve.getStatus()).entity(rve.getErrorHttpMsg()).build(); } else if (e instanceof RowLimitReachedException) { DimensionsApiRequest dimensionRequest = (DimensionsApiRequest) request.get(); String msg = String.format( "Row limit exceeded for dimension %s: %s", dimensionRequest.getDimension(), e.getMessage() ); LOG.debug(msg, e); return Response.status(INSUFFICIENT_STORAGE).entity(msg).build(); } else if (e instanceof JsonProcessingException) { String msg = ErrorMessageFormat.INTERNAL_SERVER_ERROR_ON_JSON_PROCESSING.format(e.getMessage()); LOG.error(msg, e); return Response.status(Status.INTERNAL_SERVER_ERROR).entity(msg).build(); } else { String msg = ErrorMessageFormat.REQUEST_PROCESSING_EXCEPTION.format(e.getMessage()); LOG.debug(msg, e); return Response.status(BAD_REQUEST).entity(msg).build(); } } }