You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by im...@apache.org on 2006/03/03 00:19:43 UTC
svn commit: r382558 -
/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/util/ExtensionsFilter.java
Author: imario
Date: Thu Mar 2 15:19:40 2006
New Revision: 382558
URL: http://svn.apache.org/viewcvs?rev=382558&view=rev
Log:
do not buffer the response if addResource didnt require it
Modified:
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/util/ExtensionsFilter.java
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/util/ExtensionsFilter.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/util/ExtensionsFilter.java?rev=382558&r1=382557&r2=382558&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/util/ExtensionsFilter.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/component/html/util/ExtensionsFilter.java Thu Mar 2 15:19:40 2006
@@ -111,8 +111,6 @@
extendedRequest = new MultipartRequestWrapper(httpRequest, _uploadMaxFileSize, _uploadThresholdSize, _uploadRepositoryPath);
}
- ExtensionsResponseWrapper extendedResponse = new ExtensionsResponseWrapper((HttpServletResponse) response);
-
// Serve resources
AddResource addResource = AddResourceFactory.getInstance(httpRequest);
if( addResource.isResourceUri( httpRequest ) ){
@@ -120,38 +118,54 @@
return;
}
- // Standard request
- chain.doFilter(extendedRequest, extendedResponse);
-
- extendedResponse.finishResponse();
-
- // write the javascript stuff for myfaces and headerInfo, if needed
- HttpServletResponse servletResponse = (HttpServletResponse)response;
-
- // only parse HTML responses
- if (extendedResponse.getContentType() != null && isValidContentType(extendedResponse.getContentType()))
+ try
{
- addResource.parseResponse(extendedRequest, extendedResponse.toString(),
- servletResponse);
-
- addResource.writeMyFacesJavascriptBeforeBodyEnd(extendedRequest,
- servletResponse);
-
- if( ! addResource.hasHeaderBeginInfos(extendedRequest) ){
- // writes the response if no header info is needed
- addResource.writeResponse(extendedRequest, servletResponse);
- return;
- }
-
- // Some headerInfo has to be added
- addResource.writeWithFullHeader(extendedRequest, servletResponse);
-
- // writes the response
- addResource.writeResponse(extendedRequest, servletResponse);
+ if (addResource.requiresBuffer())
+ {
+ ExtensionsResponseWrapper extendedResponse = new ExtensionsResponseWrapper((HttpServletResponse) response);
+
+ // Standard request
+ chain.doFilter(extendedRequest, extendedResponse);
+
+ extendedResponse.finishResponse();
+
+ // write the javascript stuff for myfaces and headerInfo, if needed
+ HttpServletResponse servletResponse = (HttpServletResponse)response;
+
+ // only parse HTML responses
+ if (extendedResponse.getContentType() != null && isValidContentType(extendedResponse.getContentType()))
+ {
+ addResource.parseResponse(extendedRequest, extendedResponse.toString(),
+ servletResponse);
+
+ addResource.writeMyFacesJavascriptBeforeBodyEnd(extendedRequest,
+ servletResponse);
+
+ if( ! addResource.hasHeaderBeginInfos(extendedRequest) ){
+ // writes the response if no header info is needed
+ addResource.writeResponse(extendedRequest, servletResponse);
+ return;
+ }
+
+ // Some headerInfo has to be added
+ addResource.writeWithFullHeader(extendedRequest, servletResponse);
+
+ // writes the response
+ addResource.writeResponse(extendedRequest, servletResponse);
+ }
+ else
+ {
+ servletResponse.getWriter().write(extendedResponse.toString());
+ }
+ }
+ else
+ {
+ chain.doFilter(extendedRequest, response);
+ }
}
- else
+ finally
{
- servletResponse.getWriter().write(extendedResponse.toString());
+ addResource.responseFinished();
}
}