Fix one critical sonar issues 15/122715/1
authorSamuel Liard <samuel.liard@gmail.com>
Mon, 19 Jul 2021 15:42:22 +0000 (17:42 +0200)
committerSamuel Liard <samuel.liard@gmail.com>
Mon, 19 Jul 2021 15:42:22 +0000 (17:42 +0200)
Issue-ID: AAI-3345
Signed-off-by: sliard <samuel.liard@gmail.com>
Change-Id: I6b647d56178686093aa1b652cd55e05a92ba501a

aai-aaf-auth/src/main/java/org/onap/aai/aaf/auth/ResponseFormatter.java

index d7c88e8..f5583b7 100644 (file)
@@ -33,6 +33,11 @@ import java.util.Collections;
 public class ResponseFormatter {
 
     private static final String ACCEPT_HEADER = "accept";
+    private static final String CONTENT_TYPE_HEADER = "Content-Type";
+
+    private ResponseFormatter() {
+        throw new IllegalStateException("Utility class");
+    }
 
     public static void errorResponse(HttpServletRequest request, HttpServletResponse response) throws IOException {
         errorResponse(new AAIException("AAI_3300"), request, response);
@@ -44,10 +49,17 @@ public class ResponseFormatter {
             return;
         }
 
-        String accept = request.getHeader(ACCEPT_HEADER) == null ? MediaType.APPLICATION_XML : request.getHeader(ACCEPT_HEADER);
+        String accept = request.getHeader(ACCEPT_HEADER);
+        switch (accept != null ? accept : MediaType.APPLICATION_XML) {
+            case MediaType.APPLICATION_JSON:
+                response.setHeader(CONTENT_TYPE_HEADER, MediaType.APPLICATION_JSON);
+                break;
+            case MediaType.APPLICATION_XML:
+            default:
+                response.setHeader(CONTENT_TYPE_HEADER, MediaType.APPLICATION_XML);
+        }
 
         response.setStatus(exception.getErrorObject().getHTTPResponseCode().getStatusCode());
-        response.setHeader("Content-Type", accept);
         response.resetBuffer();
 
         String resp = ErrorLogHelper.getRESTAPIErrorResponse(Collections.singletonList(MediaType.valueOf(accept)), exception, new ArrayList<>());