aboutsummaryrefslogtreecommitdiffstats
path: root/jdisc-security-filters
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-11-23 16:07:43 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2023-11-23 16:12:51 +0100
commitef535f6c51393d945d9fe07de38de224d5ae443f (patch)
tree2f5976537a200aebbf6644b8e1ef93f2c669319d /jdisc-security-filters
parentf966346429c85fc31c8ea962b518e02a19f77f46 (diff)
jackson 2.16 changes some of its default settings so we consolidate our use of the ObjectMapper.
Unless special options are used, use a common instance, or create via factory metod.
Diffstat (limited to 'jdisc-security-filters')
-rw-r--r--jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/base/JsonSecurityRequestFilterBase.java6
-rw-r--r--jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/base/JsonSecurityRequestFilterBaseTest.java5
-rw-r--r--jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/rule/RuleBasedRequestFilterTest.java8
3 files changed, 7 insertions, 12 deletions
diff --git a/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/base/JsonSecurityRequestFilterBase.java b/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/base/JsonSecurityRequestFilterBase.java
index 510a47e6dd9..f1bf748ae8b 100644
--- a/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/base/JsonSecurityRequestFilterBase.java
+++ b/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/base/JsonSecurityRequestFilterBase.java
@@ -1,9 +1,9 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.jdisc.http.filter.security.base;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yahoo.component.AbstractComponent;
import com.yahoo.jdisc.Response;
@@ -27,7 +27,6 @@ import java.util.logging.Logger;
public abstract class JsonSecurityRequestFilterBase extends AbstractComponent implements SecurityRequestFilter {
private static final Logger log = Logger.getLogger(JsonSecurityRequestFilterBase.class.getName());
- private static final ObjectMapper mapper = new ObjectMapper();
@Override
public final void filter(DiscFilterRequest request, ResponseHandler handler) {
@@ -37,10 +36,9 @@ public abstract class JsonSecurityRequestFilterBase extends AbstractComponent im
protected abstract Optional<ErrorResponse> filter(DiscFilterRequest request);
- protected ObjectMapper jsonMapper() { return mapper; }
-
private void writeResponse(DiscFilterRequest request, ErrorResponse error, ResponseHandler responseHandler) {
JsonNode json;
+ var mapper = Jackson.mapper();
if (error.customJson != null) {
json = error.customJson;
} else {
diff --git a/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/base/JsonSecurityRequestFilterBaseTest.java b/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/base/JsonSecurityRequestFilterBaseTest.java
index c6006c1d483..22a77692da3 100644
--- a/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/base/JsonSecurityRequestFilterBaseTest.java
+++ b/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/base/JsonSecurityRequestFilterBaseTest.java
@@ -1,8 +1,8 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.jdisc.http.filter.security.base;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.container.jdisc.RequestHandlerTestDriver;
import com.yahoo.jdisc.Response;
import com.yahoo.jdisc.http.filter.DiscFilterRequest;
@@ -20,7 +20,6 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
*/
public class JsonSecurityRequestFilterBaseTest {
- private final ObjectMapper mapper = new ObjectMapper();
@Test
void filter_renders_errors_as_json() throws IOException {
@@ -36,7 +35,7 @@ public class JsonSecurityRequestFilterBaseTest {
assertNotNull(response);
assertEquals(statusCode, response.getStatus());
- JsonNode jsonNode = mapper.readTree(responseHandler.readAll());
+ JsonNode jsonNode = Jackson.mapper().readTree(responseHandler.readAll());
assertEquals(message, jsonNode.get("message").asText());
assertEquals(statusCode, jsonNode.get("code").asInt());
}
diff --git a/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/rule/RuleBasedRequestFilterTest.java b/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/rule/RuleBasedRequestFilterTest.java
index f3d0f59dd4c..3924bf8322b 100644
--- a/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/rule/RuleBasedRequestFilterTest.java
+++ b/jdisc-security-filters/src/test/java/com/yahoo/jdisc/http/filter/security/rule/RuleBasedRequestFilterTest.java
@@ -1,8 +1,8 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.jdisc.http.filter.security.rule;
+import ai.vespa.json.Jackson;
import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.yahoo.container.jdisc.RequestHandlerTestDriver.MockResponseHandler;
import com.yahoo.jdisc.Metric;
@@ -31,8 +31,6 @@ import static org.mockito.Mockito.verify;
*/
class RuleBasedRequestFilterTest {
- private static final ObjectMapper jsonMapper = new ObjectMapper();
-
@Test
void matches_rule_that_allows_all_methods_and_paths() {
RuleBasedFilterConfig config = new RuleBasedFilterConfig.Builder()
@@ -230,9 +228,9 @@ class RuleBasedRequestFilterTest {
Response response = handler.getResponse();
assertNotNull(response);
assertEquals(expectedCode, response.getStatus());
- ObjectNode expectedJson = jsonMapper.createObjectNode();
+ ObjectNode expectedJson = Jackson.mapper().createObjectNode();
expectedJson.put("message", expectedMessage).put("code", expectedCode);
- JsonNode actualJson = jsonMapper.readTree(handler.readAll().getBytes());
+ JsonNode actualJson = Jackson.mapper().readTree(handler.readAll().getBytes());
assertEquals(expectedJson, actualJson);
}