]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
DRYD-23: Improve detection of json content type.
authorRay Lee <rhlee@berkeley.edu>
Thu, 11 Aug 2016 08:08:12 +0000 (01:08 -0700)
committerRay Lee <rhlee@berkeley.edu>
Thu, 11 Aug 2016 08:08:12 +0000 (01:08 -0700)
services/common/src/main/java/org/collectionspace/services/common/xmljson/RequestUtils.java
services/common/src/test/java/org/collectionspace/services/common/xmljson/test/RequestUtilsTest.java

index e563eee7a4498a933b34f0f1e5dc40216d04317b..69ef3abbbd0b27afa6274f5b09464c0fdb98aadb 100644 (file)
@@ -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));
     }
     
     /**
index 946d32fad5bba4e100e133022f9b5552349121cc..b26f8fb57c3e514bcdd3e8def7df30df23309173 100644 (file)
@@ -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")));
     }