You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by cb...@apache.org on 2019/12/09 20:44:40 UTC

svn commit: r1871101 - /velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/JsonTool.java

Author: cbrisson
Date: Mon Dec  9 20:44:40 2019
New Revision: 1871101

URL: http://svn.apache.org/viewvc?rev=1871101&view=rev
Log:
[view-tools] JsonTool: bugfix: properly extract mime type from content type when followed by a charset

Modified:
    velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/JsonTool.java

Modified: velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/JsonTool.java
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/JsonTool.java?rev=1871101&r1=1871100&r2=1871101&view=diff
==============================================================================
--- velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/JsonTool.java (original)
+++ velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/JsonTool.java Mon Dec  9 20:44:40 2019
@@ -73,6 +73,24 @@ public class JsonTool extends org.apache
     }
 
     /**
+     * Check if a given content type is of JSON type
+     * @param contentType content type
+     * @return whether given content type is of JSON type
+     */
+    protected static boolean isJsonContentType(String contentType)
+    {
+        if (contentType != null)
+        {
+            int sep = contentType.indexOf(';');
+            String mimeType = sep == -1
+                ? contentType
+                : contentType.substring(0, sep).trim();
+            return isJsonMimeType(mimeType);
+        }
+        return false;
+    }
+
+    /**
      * Configuration. Parses request body if appropriate.
      * @param parser configuration values
      */
@@ -82,7 +100,7 @@ public class JsonTool extends org.apache
         if (root() == null)
         {
             ServletRequest request = (ServletRequest)parser.get(ViewContext.REQUEST);
-            if (request.getContentLength() > 0 && isJsonMimeType(request.getContentType()))
+            if (request.getContentLength() > 0 && isJsonContentType(request.getContentType()))
             {
                 try
                 {