You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2010/07/23 03:39:33 UTC
svn commit: r966930 - in /cxf/branches/servlet3jetty7/rt/transports:
http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/
http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/
http/src/main/java/org/apache/cxf/transport/http/
Author: dkulp
Date: Fri Jul 23 01:39:32 2010
New Revision: 966930
URL: http://svn.apache.org/viewvc?rev=966930&view=rev
Log:
Workaround bug in jetty
Modified:
cxf/branches/servlet3jetty7/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
cxf/branches/servlet3jetty7/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestinationTest.java
cxf/branches/servlet3jetty7/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java
Modified: cxf/branches/servlet3jetty7/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
URL: http://svn.apache.org/viewvc/cxf/branches/servlet3jetty7/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java?rev=966930&r1=966929&r2=966930&view=diff
==============================================================================
--- cxf/branches/servlet3jetty7/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java (original)
+++ cxf/branches/servlet3jetty7/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java Fri Jul 23 01:39:32 2010
@@ -215,6 +215,14 @@ public class JettyHTTPDestination extend
Request baseRequest = (req instanceof Request)
? (Request)req : HttpConnection.getCurrentConnection().getRequest();
+ if (!"HEAD".equals(req.getMethod())) {
+ //bug in Jetty with persistent connections that if a HEAD is
+ //sent, a _head flag is never reset
+ HttpConnection c = baseRequest.getConnection();
+ if (c != null) {
+ c.getGenerator().setHead(false);
+ }
+ }
if (getServer().isSetRedirectURL()) {
resp.sendRedirect(getServer().getRedirectURL());
resp.flushBuffer();
Modified: cxf/branches/servlet3jetty7/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestinationTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/servlet3jetty7/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestinationTest.java?rev=966930&r1=966929&r2=966930&view=diff
==============================================================================
--- cxf/branches/servlet3jetty7/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestinationTest.java (original)
+++ cxf/branches/servlet3jetty7/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestinationTest.java Fri Jul 23 01:39:32 2010
@@ -674,8 +674,9 @@ public class JettyHTTPDestinationTest ex
request = EasyMock.createMock(Request.class);
response = EasyMock.createMock(Response.class);
request.getMethod();
- EasyMock.expectLastCall().andReturn(method);
-
+ EasyMock.expectLastCall().andReturn(method).atLeastOnce();
+ request.getConnection();
+ EasyMock.expectLastCall().andReturn(null).anyTimes();
if (setRedirectURL) {
policy.setRedirectURL(NOWHERE + "foo/bar");
@@ -696,7 +697,7 @@ public class JettyHTTPDestinationTest ex
EasyMock.expect(request.getAttribute(AbstractHTTPDestination.CXF_CONTINUATION_MESSAGE))
.andReturn(null);
- EasyMock.expect(request.getMethod()).andReturn(method);
+ //EasyMock.expect(request.getMethod()).andReturn(method);
EasyMock.expect(request.getInputStream()).andReturn(is);
EasyMock.expect(request.getContextPath()).andReturn("/bar");
EasyMock.expect(request.getPathInfo()).andReturn("/foo");
Modified: cxf/branches/servlet3jetty7/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java
URL: http://svn.apache.org/viewvc/cxf/branches/servlet3jetty7/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java?rev=966930&r1=966929&r2=966930&view=diff
==============================================================================
--- cxf/branches/servlet3jetty7/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java (original)
+++ cxf/branches/servlet3jetty7/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java Fri Jul 23 01:39:32 2010
@@ -653,6 +653,7 @@ public abstract class AbstractHTTPDestin
}
}
if (wrappedStream != null) {
+ wrappedStream.flush();
wrappedStream.close();
response.flushBuffer();
}