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