You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Sergey Beryozkin <sb...@gmail.com> on 2012/12/20 16:37:58 UTC
Re: svn commit: r142447
thanks Dan
On 20/12/12 14:16, dkulp@apache.org wrote:
> Author: dkulp
> Date: Thu Dec 20 14:16:01 2012
> New Revision: 1424479
>
> URL: http://svn.apache.org/viewvc?rev=1424479&view=rev
> Log:
> [CXF-4714] Better fix by fixing the underlying jetty stream
>
> Modified:
> cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
> cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java
>
> Modified: cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java?rev=1424479&r1=1424478&r2=1424479&view=diff
> ==============================================================================
> --- cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java (original)
> +++ cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java Thu Dec 20 14:16:01 2012
> @@ -43,6 +43,7 @@ import org.apache.cxf.configuration.jsse
> import org.apache.cxf.configuration.security.CertificateConstraintsType;
> import org.apache.cxf.continuations.ContinuationProvider;
> import org.apache.cxf.continuations.SuspendedInvocationException;
> +import org.apache.cxf.helpers.IOUtils;
> import org.apache.cxf.interceptor.Fault;
> import org.apache.cxf.io.CachedOutputStream;
> import org.apache.cxf.io.CopyingOutputStream;
> @@ -394,6 +395,7 @@ public class JettyHTTPDestination extend
>
> static class JettyOutputStream extends FilterOutputStream implements CopyingOutputStream {
> final Output out;
> + boolean written;
> public JettyOutputStream(Output o) {
> super(o);
> out = o;
> @@ -401,10 +403,21 @@ public class JettyHTTPDestination extend
>
> @Override
> public int copyFrom(InputStream in) throws IOException {
> + if (written) {
> + return IOUtils.copy(in, out);
> + }
> CountingInputStream c = new CountingInputStream(in);
> out.sendContent(c);
> return c.getCount();
> }
> + public void write(int b) throws IOException {
> + written = true;
> + out.write(b);
> + }
> + public void write(byte b[], int off, int len) throws IOException {
> + written = true;
> + out.write(b, off, len);
> + }
> }
> static class CountingInputStream extends FilterInputStream {
> int count;
>
> Modified: cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java?rev=1424479&r1=1424478&r2=1424479&view=diff
> ==============================================================================
> --- cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java (original)
> +++ cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/AbstractHTTPDestination.java Thu Dec 20 14:16:01 2012
> @@ -696,7 +696,7 @@ public abstract class AbstractHTTPDestin
> written = true;
> }
> if (wrappedStream != null) {
> - return IOUtils.copy(in, wrappedStream, IOUtils.DEFAULT_BUFFER_SIZE);
> + return IOUtils.copy(in, wrappedStream);
> }
> return IOUtils.copy(in, this, IOUtils.DEFAULT_BUFFER_SIZE);
> }
>
>
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
Blog: http://sberyozkin.blogspot.com