You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@apache.org on 2001/12/15 02:02:35 UTC
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector ResponseFacade.java
craigmcc 01/12/14 17:02:35
Modified: catalina/src/share/org/apache/catalina/connector
ResponseFacade.java
Log:
Make calling response.getOutputStream(), response.getWriter(), and
response.flushBuffer() non-fatal even if the response has already been
finished -- just ignore any subsequent output and we conform to spec
requirements.
IMHO the functional logic sprinkled in ResponseFacade should *really* be
refactored into the ResponseBase class. The facades are there for
security, and shouldn't have any functional responsibility. But that's
for a later time ...
Revision Changes Path
1.5 +21 -14 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java
Index: ResponseFacade.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ResponseFacade.java 2001/09/28 16:53:49 1.4
+++ ResponseFacade.java 2001/12/15 01:02:35 1.5
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java,v 1.4 2001/09/28 16:53:49 remm Exp $
- * $Revision: 1.4 $
- * $Date: 2001/09/28 16:53:49 $
+ * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/ResponseFacade.java,v 1.5 2001/12/15 01:02:35 craigmcc Exp $
+ * $Revision: 1.5 $
+ * $Date: 2001/12/15 01:02:35 $
*
* ====================================================================
*
@@ -80,7 +80,7 @@
* object. All methods are delegated to the wrapped response.
*
* @author Remy Maucherat
- * @version $Revision: 1.4 $ $Date: 2001/09/28 16:53:49 $
+ * @version $Revision: 1.5 $ $Date: 2001/12/15 01:02:35 $
*/
public class ResponseFacade implements ServletResponse {
@@ -143,11 +143,14 @@
public ServletOutputStream getOutputStream()
throws IOException {
- if (isFinished())
- throw new IllegalStateException
- (/*sm.getString("responseFacade.finished")*/);
+ // if (isFinished())
+ // throw new IllegalStateException
+ // (/*sm.getString("responseFacade.finished")*/);
- return response.getOutputStream();
+ ServletOutputStream sos = response.getOutputStream();
+ if (isFinished())
+ resp.setSuspended(true);
+ return (sos);
}
@@ -155,11 +158,14 @@
public PrintWriter getWriter()
throws IOException {
- if (isFinished())
- throw new IllegalStateException
- (/*sm.getString("responseFacade.finished")*/);
+ // if (isFinished())
+ // throw new IllegalStateException
+ // (/*sm.getString("responseFacade.finished")*/);
- return response.getWriter();
+ PrintWriter writer = response.getWriter();
+ if (isFinished())
+ resp.setSuspended(true);
+ return (writer);
}
@@ -204,8 +210,9 @@
throws IOException {
if (isFinished())
- throw new IllegalStateException
- (/*sm.getString("responseFacade.finished")*/);
+ // throw new IllegalStateException
+ // (/*sm.getString("responseFacade.finished")*/);
+ return;
resp.setAppCommitted(true);
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>