From f260a34c50b05f031c3a2133668e2eef2677cb9a Mon Sep 17 00:00:00 2001 From: khys95 Date: Mon, 23 Sep 2024 16:04:36 +0200 Subject: [PATCH] poolgroup: error code update Motivation: Update from 500 to 400 when user enters a pool group name that doesn't exist. Modification: Add an instance of the NoSuchElementException class to throw a 400 - bad request. Result: End user will get a more accurate response. Acked-by: Tigran Mkrtchyan Target: master Require-book: no Require-notes: no --- .../org/dcache/restful/providers/ErrorResponseProvider.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/dcache-frontend/src/main/java/org/dcache/restful/providers/ErrorResponseProvider.java b/modules/dcache-frontend/src/main/java/org/dcache/restful/providers/ErrorResponseProvider.java index e74b239338c..da8e6b716eb 100644 --- a/modules/dcache-frontend/src/main/java/org/dcache/restful/providers/ErrorResponseProvider.java +++ b/modules/dcache-frontend/src/main/java/org/dcache/restful/providers/ErrorResponseProvider.java @@ -22,6 +22,7 @@ import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException; import com.google.common.base.Throwables; import java.net.URI; +import java.util.NoSuchElementException; import javax.ws.rs.BadRequestException; import javax.ws.rs.InternalServerErrorException; import javax.ws.rs.NotFoundException; @@ -60,7 +61,7 @@ public Response toResponse(Exception e) { // Unfortunately Jackson builds multiline messages, we work around this. return buildResponse(Response.Status.BAD_REQUEST, "Unable to interpret JSON: " + firstLineOf(e.getMessage())); - } else if (e instanceof BadRequestException) { + } else if (e instanceof BadRequestException || e instanceof NoSuchElementException) { return buildResponse(Response.Status.BAD_REQUEST, getMessage(e, "Bad request")); } else if (e instanceof NotFoundException) {