From 74109eb64e9d2df3e884d3096f37158171a21c68 Mon Sep 17 00:00:00 2001 From: Mona Ullah <54892125+monaullah@users.noreply.github.com> Date: Fri, 24 May 2024 08:28:07 +0200 Subject: [PATCH] NP-46823 ApigatewayHandler, redirect response cors header (#495) * Redirects should contain header ACCESS_CONTROL_ALLOW_ORIGIN * Bump version --- .../main/java/nva/commons/apigateway/ApiGatewayHandler.java | 3 ++- .../java/nva/commons/apigateway/ApiGatewayHandlerTest.java | 3 +++ buildSrc/src/main/groovy/nvacommons.java-conventions.gradle | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apigateway/src/main/java/nva/commons/apigateway/ApiGatewayHandler.java b/apigateway/src/main/java/nva/commons/apigateway/ApiGatewayHandler.java index 9fbd9bb2..336232dd 100644 --- a/apigateway/src/main/java/nva/commons/apigateway/ApiGatewayHandler.java +++ b/apigateway/src/main/java/nva/commons/apigateway/ApiGatewayHandler.java @@ -203,7 +203,8 @@ private void sendRedirectResponse(RedirectException exception) private GatewayResponse createRedirectResponse(RedirectException exception) throws GatewayResponseSerializingException { - var responseHeaders = Map.of(HttpHeaders.LOCATION, exception.getLocation().toString()); + var responseHeaders = Map.of(HttpHeaders.LOCATION, exception.getLocation().toString(), + ACCESS_CONTROL_ALLOW_ORIGIN, allowedOrigin); return new GatewayResponse<>(EMPTY_BODY, responseHeaders, exception.getStatusCode(), isBase64Encoded, objectMapper); } diff --git a/apigateway/src/test/java/nva/commons/apigateway/ApiGatewayHandlerTest.java b/apigateway/src/test/java/nva/commons/apigateway/ApiGatewayHandlerTest.java index adee514e..5d9de0cb 100644 --- a/apigateway/src/test/java/nva/commons/apigateway/ApiGatewayHandlerTest.java +++ b/apigateway/src/test/java/nva/commons/apigateway/ApiGatewayHandlerTest.java @@ -5,6 +5,8 @@ import static no.unit.nva.testutils.RandomDataGenerator.objectMapper; import static no.unit.nva.testutils.RandomDataGenerator.randomString; import static no.unit.nva.testutils.RandomDataGenerator.randomUri; +import static no.unit.nva.testutils.TestHeaders.ACCESS_CONTROL_ALLOW_ORIGIN; +import static no.unit.nva.testutils.TestHeaders.WILDCARD; import static nva.commons.apigateway.ApiGatewayHandler.REQUEST_ID; import static nva.commons.apigateway.MediaTypes.APPLICATION_PROBLEM_JSON; import static nva.commons.apigateway.RestConfig.defaultRestObjectMapper; @@ -391,6 +393,7 @@ void handlerSendsRedirectionWhenItReceivesARedirectException() throws IOExceptio var response = getResponse(Void.class, request, handler); assertThat(response.getStatusCode(), is(equalTo(expectedRedirectStatusCode))); assertThat(response.getHeaders(), hasEntry(HttpHeaders.LOCATION, expectedRedirectLocation.toString())); + assertThat(response.getHeaders(), hasEntry(ACCESS_CONTROL_ALLOW_ORIGIN, WILDCARD)); } @Test diff --git a/buildSrc/src/main/groovy/nvacommons.java-conventions.gradle b/buildSrc/src/main/groovy/nvacommons.java-conventions.gradle index 601f783b..ac7a94f3 100644 --- a/buildSrc/src/main/groovy/nvacommons.java-conventions.gradle +++ b/buildSrc/src/main/groovy/nvacommons.java-conventions.gradle @@ -9,7 +9,7 @@ plugins { } group 'com.github.bibsysdev' -version = '1.39.1' +version = '1.39.2' java.sourceCompatibility = JavaVersion.VERSION_17 // source-code version and must be <= targetCompatibility