You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by at...@apache.org on 2009/05/12 02:22:25 UTC

svn commit: r773738 - /portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/impl/ResourceResponseImpl.java

Author: ate
Date: Tue May 12 00:22:24 2009
New Revision: 773738

URL: http://svn.apache.org/viewvc?rev=773738&view=rev
Log:
Fix for PLUTO-561: ResourceResponse.setContentType() with charset is broken
See: http://issues.apache.org/jira/browse/PLUTO-561
Patch provided by Michael Freedman, thanks!

Modified:
    portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/impl/ResourceResponseImpl.java

Modified: portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/impl/ResourceResponseImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/impl/ResourceResponseImpl.java?rev=773738&r1=773737&r2=773738&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/impl/ResourceResponseImpl.java (original)
+++ portals/pluto/trunk/pluto-container/src/main/java/org/apache/pluto/container/impl/ResourceResponseImpl.java Tue May 12 00:22:24 2009
@@ -89,11 +89,19 @@
     
 	public void setCharacterEncoding(String encoding)
 	{
-	    if (encoding != null)
+        // ensure client hasn't passed us the full name/value pair; i.e
+        // charset=utf-8
+        int index = encoding.indexOf('=');
+        if (index != -1 && index < encoding.length()-1)
+        {
+          encoding = encoding.substring(index+1).trim();
+        }
+            
+	    if (encoding != null && encoding.length() > 0)
 	    {
+	        this.charset = encoding;
 	        responseContext.setCharacterEncoding(charset);
 	        canSetLocaleEncoding = false;
-	        this.charset = encoding;
 	    }
 	}