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
{