diff options
author | Greg Wilkins | 2010-09-10 06:03:45 +0000 |
---|---|---|
committer | Greg Wilkins | 2010-09-10 06:03:45 +0000 |
commit | f8155553493f83fa4a82c81f36359900ede50334 (patch) | |
tree | 04efdfc725979b694547897503d3a6bb4e0a3419 /jetty-servlet/src/main | |
parent | f919f78f1f71d8caead75999f74844121228ed3d (diff) | |
download | org.eclipse.jetty.project-f8155553493f83fa4a82c81f36359900ede50334.tar.gz org.eclipse.jetty.project-f8155553493f83fa4a82c81f36359900ede50334.tar.xz org.eclipse.jetty.project-f8155553493f83fa4a82c81f36359900ede50334.zip |
324679 dont set content length if writer is gotten
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@2268 7e9141cc-0065-0410-87d8-b60c137991c4
Diffstat (limited to 'jetty-servlet/src/main')
-rw-r--r-- | jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java index 49945e5576..f59949ab5d 100644 --- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java +++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/DefaultServlet.java @@ -761,8 +761,21 @@ public class DefaultServlet extends HttpServlet implements ResourceFactory // Get the output stream (or writer) OutputStream out =null; - try{out = response.getOutputStream();} - catch(IllegalStateException e) {out = new WriterOutputStream(response.getWriter());} + boolean written; + try + { + out = response.getOutputStream(); + + // has a filter already written to the response? + written = out instanceof HttpOutput + ? !((HttpOutput)out).isWritten() + : HttpConnection.getCurrentConnection().getGenerator().isContentWritten(); + } + catch(IllegalStateException e) + { + out = new WriterOutputStream(response.getWriter()); + written=true; // there may be data in writer buffer, so assume written + } if ( reqRanges == null || !reqRanges.hasMoreElements() || content_length<0) { @@ -773,10 +786,6 @@ public class DefaultServlet extends HttpServlet implements ResourceFactory } else { - // has a filter already written to the response? - boolean written = out instanceof HttpOutput - ? !((HttpOutput)out).isWritten() - : HttpConnection.getCurrentConnection().getGenerator().isContentWritten(); // See if a direct methods can be used? if (content!=null && !written && out instanceof HttpOutput) |