From 3eff91673944f202e0aebe20faa925011568b685 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sun, 20 Dec 2015 14:40:15 +1300 Subject: Check permissions for REST API calls --- src/org/traccar/api/ResourceErrorHandler.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/org/traccar/api/ResourceErrorHandler.java') diff --git a/src/org/traccar/api/ResourceErrorHandler.java b/src/org/traccar/api/ResourceErrorHandler.java index e2f4dce10..be63aad09 100644 --- a/src/org/traccar/api/ResourceErrorHandler.java +++ b/src/org/traccar/api/ResourceErrorHandler.java @@ -23,21 +23,21 @@ import javax.ws.rs.ext.ExceptionMapper; import java.util.HashMap; import java.util.Map; -public class ResourceErrorHandler implements ExceptionMapper { +public class ResourceErrorHandler implements ExceptionMapper { private static final String KEY_MESSAGE = "message"; private static final String KEY_DETAILS = "details"; @Override - public Response toResponse(WebApplicationException e) { + public Response toResponse(Exception e) { Map error = new HashMap<>(); - Throwable cause = e.getCause(); - if (cause != null) { - error.put(KEY_MESSAGE, cause.getMessage()); - error.put(KEY_DETAILS, Log.exceptionStack(cause)); - return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); + if (e instanceof WebApplicationException) { + WebApplicationException webApplicationException = (WebApplicationException) e; + return Response.status(webApplicationException.getResponse().getStatus()).entity(error).build(); } else { - return Response.status(e.getResponse().getStatus()).entity(error).build(); + error.put(KEY_MESSAGE, e.getMessage()); + error.put(KEY_DETAILS, Log.exceptionStack(e)); + return Response.status(Response.Status.BAD_REQUEST).entity(error).build(); } } -- cgit v1.2.3