From f7665765637343c34c4932b446a6c7a70725fcb1 Mon Sep 17 00:00:00 2001 From: Ray Lee Date: Thu, 11 Aug 2016 01:08:12 -0700 Subject: [PATCH] DRYD-23: Improve detection of json content type. --- .../services/common/xmljson/RequestUtils.java | 7 ++++++- .../services/common/xmljson/test/RequestUtilsTest.java | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/services/common/src/main/java/org/collectionspace/services/common/xmljson/RequestUtils.java b/services/common/src/main/java/org/collectionspace/services/common/xmljson/RequestUtils.java index e563eee7a..69ef3abbb 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/xmljson/RequestUtils.java +++ b/services/common/src/main/java/org/collectionspace/services/common/xmljson/RequestUtils.java @@ -30,7 +30,12 @@ public class RequestUtils { return false; } - return MediaType.APPLICATION_JSON_TYPE.isCompatible(MediaType.valueOf(contentType)); + MediaType contentMediaType = MediaType.valueOf(contentType); + + return ( + !contentMediaType.isWildcardType() + && !contentMediaType.isWildcardSubtype() + && MediaType.APPLICATION_JSON_TYPE.isCompatible(contentMediaType)); } /** diff --git a/services/common/src/test/java/org/collectionspace/services/common/xmljson/test/RequestUtilsTest.java b/services/common/src/test/java/org/collectionspace/services/common/xmljson/test/RequestUtilsTest.java index 946d32fad..b26f8fb57 100644 --- a/services/common/src/test/java/org/collectionspace/services/common/xmljson/test/RequestUtilsTest.java +++ b/services/common/src/test/java/org/collectionspace/services/common/xmljson/test/RequestUtilsTest.java @@ -17,6 +17,9 @@ public class RequestUtilsTest { public void testIsJsonContent() { assertFalse(isJsonContent(requestWithContentType(null))); assertFalse(isJsonContent(requestWithContentType("application/xml"))); + assertFalse(isJsonContent(requestWithContentType("application/xml;charset=utf-8"))); + assertFalse(isJsonContent(requestWithContentType("application/*"))); + assertFalse(isJsonContent(requestWithContentType("*/*"))); assertTrue(isJsonContent(requestWithContentType("application/json"))); assertTrue(isJsonContent(requestWithContentType("application/json;charset=utf-8"))); } -- 2.47.3