You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2011/11/01 16:09:43 UTC

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

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();
+	}
 }