Author: dkulp Date: Sat Sep 19 12:06:15 2009 New Revision: 816900 URL: http://svn.apache.org/viewvc?rev=816900&view=rev Log: Merged revisions 816897 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.2.x-fixes
................ r816897 | dkulp | 2009-09-19 07:54:32 -0400 (Sat, 19 Sep 2009) | 9 lines Merged revisions 816894 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r816894 | dkulp | 2009-09-19 07:41:09 -0400 (Sat, 19 Sep 2009) | 1 line [CXF-2440] Fix some interaction problems with gzip and mtom ........ ................ Modified: cxf/branches/2.1.x-fixes/ (props changed) cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/attachment/DelegatingInputStream.java cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/gzip/GZIPInInterceptor.java Propchange: cxf/branches/2.1.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/attachment/DelegatingInputStream.java URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/attachment/DelegatingInputStream.java?rev=816900&r1=816899&r2=816900&view=diff ============================================================================== --- cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/attachment/DelegatingInputStream.java (original) +++ cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/attachment/DelegatingInputStream.java Sat Sep 19 12:06:15 2009 @@ -39,10 +39,10 @@ @Override public void close() throws IOException { is.close(); - isClosed = true; if (!isClosed) { deserializer.markClosed(this); } + isClosed = true; } public boolean isClosed() { Modified: cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/gzip/GZIPInInterceptor.java URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/gzip/GZIPInInterceptor.java?rev=816900&r1=816899&r2=816900&view=diff ============================================================================== --- cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/gzip/GZIPInInterceptor.java (original) +++ cxf/branches/2.1.x-fixes/rt/transports/http/src/main/java/org/apache/cxf/transport/http/gzip/GZIPInInterceptor.java Sat Sep 19 12:06:15 2009 @@ -51,22 +51,10 @@ */ public class GZIPInInterceptor extends AbstractPhaseInterceptor<Message> { - /** - * Key under which we store the original input stream on the message, for - * use by the ending interceptor. - */ - public static final String ORIGINAL_INPUT_STREAM_KEY = GZIPInInterceptor.class.getName() - + ".originalInputStream"; private static final ResourceBundle BUNDLE = BundleUtils.getBundle(GZIPInInterceptor.class); private static final Logger LOG = LogUtils.getL7dLogger(GZIPInInterceptor.class); - /** - * Ending interceptor that restores the original input stream on the message - * when we have finished unzipping it. - */ - private GZIPInEndingInterceptor ending = new GZIPInEndingInterceptor(); - public GZIPInInterceptor() { super(Phase.RECEIVE); addBefore(AttachmentInInterceptor.class.getName()); @@ -84,11 +72,7 @@ && (contentEncoding.contains("gzip") || contentEncoding.contains("x-gzip"))) { try { LOG.fine("Uncompressing response"); - // remember the original input stream, the ending - // interceptor - // will use it later InputStream is = message.getContent(InputStream.class); - message.put(ORIGINAL_INPUT_STREAM_KEY, is); // wrap an unzipping stream around the original one GZIPInputStream zipInput = new GZIPInputStream(is); @@ -101,9 +85,6 @@ break; } } - - // add the ending interceptor - message.getInterceptorChain().add(ending); } catch (IOException ex) { throw new Fault(new org.apache.cxf.common.i18n.Message("COULD_NOT_UNZIP", BUNDLE), ex); } @@ -111,21 +92,4 @@ } } - /** - * Ending interceptor to restore the original input stream after processing, - * so as not to interfere with streaming HTTP. - */ - public class GZIPInEndingInterceptor extends AbstractPhaseInterceptor<Message> { - public GZIPInEndingInterceptor() { - super(Phase.POST_INVOKE); - } - - /** - * Restores the original input stream for the message. - */ - public void handleMessage(Message message) throws Fault { - InputStream originalIn = (InputStream)message.get(ORIGINAL_INPUT_STREAM_KEY); - message.setContent(InputStream.class, originalIn); - } - } }
