SLING-4298 use internal StringWriter instead of BufferedServletOutputStream

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1652353 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/scripting/jsp/taglib/IncludeTagHandler.java b/src/main/java/org/apache/sling/scripting/jsp/taglib/IncludeTagHandler.java
index 00589aa..cc68e8d 100644
--- a/src/main/java/org/apache/sling/scripting/jsp/taglib/IncludeTagHandler.java
+++ b/src/main/java/org/apache/sling/scripting/jsp/taglib/IncludeTagHandler.java
@@ -26,8 +26,6 @@
 import javax.servlet.jsp.PageContext;
 import javax.servlet.jsp.tagext.BodyContent;
 
-import org.apache.commons.io.IOUtils;
-import org.apache.sling.scripting.core.servlet.BufferedServletOutputStream;
 import org.apache.sling.scripting.core.servlet.CaptureResponseWrapper;
 
 /**
@@ -55,19 +53,12 @@
         if (var == null) {
         	dispatcher.include(request, response);
         } else {
-        	String encoding = response.getCharacterEncoding();
-        	BufferedServletOutputStream bsops = new BufferedServletOutputStream(encoding);
-        	try{
-	        	CaptureResponseWrapper wrapper = new CaptureResponseWrapper((HttpServletResponse) response, bsops);
-	        	dispatcher.include(request, wrapper);
-	        	if (! wrapper.isBinaryResponse()) {
-	        		wrapper.flushBuffer();
-	            	pageContext.setAttribute(var, bsops.getBuffer(), scope);
-	        	}
-        	}finally{
-        		IOUtils.closeQuietly(bsops);
-        	}
-        }
+			final CaptureResponseWrapper wrapper = new CaptureResponseWrapper((HttpServletResponse) response);
+			dispatcher.include(request, wrapper);
+			if (!wrapper.isBinaryResponse()) {
+				pageContext.setAttribute(var, wrapper.getCapturedCharacterResponse(), scope);
+			}
+		}
     }
 
     public void setPageContext(PageContext pageContext) {