Author: mgrigorov
Date: Tue Nov  1 15:09:43 2011
New Revision: 1196040

URL: http://svn.apache.org/viewvc?rev=1196040&view=rev
Log:
WICKET-3633 content type in header is being lost when using a 
AbstractTransformerBehavior


Modified:
    
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/transformer/AbstractTransformerBehavior.java

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/transformer/AbstractTransformerBehavior.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/transformer/AbstractTransformerBehavior.java?rev=1196040&r1=1196039&r2=1196040&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/transformer/AbstractTransformerBehavior.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/transformer/AbstractTransformerBehavior.java
 Tue Nov  1 15:09:43 2011
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.markup.transformer;
 
+import org.apache.wicket.Application;
 import org.apache.wicket.Component;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.Response;
@@ -79,6 +80,14 @@ public abstract class AbstractTransforme
                // Temporarily replace the web response with a String response
                webResponse = requestCycle.getResponse();
 
+               // Determine encoding
+               final String encoding = Application.exists() ? Application.get()
+                       .getRequestCycleSettings()
+                       .getResponseRequestEncoding() : "UTF-8";
+
+               // Set content type based on markup type for page
+               webResponse.setContentType("text/" + getMarkupType(component) + 
"; charset=" + encoding);
+
                // Create a new response object
                final Response response = newResponse();
                if (response == null)
@@ -147,4 +156,9 @@ public abstract class AbstractTransforme
         */
        public abstract CharSequence transform(final Component component, final 
CharSequence output)
                throws Exception;
+
+       private String getMarkupType(Component component)
+       {
+               return component.getPage().getMarkupType();
+       }
 }


Reply via email to