Hi Okay can you try with adding reset to stream cache such as and give that a test locally.
Object body = exchange.getIn().getBody(); // reset the stream cache if the body is the instance of StreamCache if (body instanceof StreamCache) { ((StreamCache) body).reset(); } if (body instanceof InputStream) { InputStream is = (InputStream) body; if (LOG.isDebugEnabled()) { LOG.debug("Streaming GZIP response in chunked mode with buffer size {}", response.getBufferSize()); } On Wed, Jan 18, 2023 at 10:22 AM Claus Ibsen <claus.ib...@gmail.com> wrote: > > > On Tue, Jan 17, 2023 at 3:16 PM Dmitri T <taleras...@gmail.com> wrote: > >> Sure. >> The Server is jetty from camel-jetty. >> Message body is: >> org.apache.camel.converter.stream.InputStreamCache for >> exchange.getIn().getBody() (empty) >> org.apache.camel.converter.stream.ByteArrayInputStreamCache for >> message.getBody() (not empty) >> >> > Thanks for reporting this. You are welcome to create a JIRA so we can work > on a fix. > I think we need to check for StreamCache in that part of the code. > > > >> вт, 17 янв. 2023 г. в 16:59, Claus Ibsen <claus.ib...@gmail.com>: >> > >> > > > > >> > Hi >> > >> > Thanks for reporting. Can you tell a bit more about what HTTP server you >> > are using? And what class type the message body is at that moment in >> > doWriteGZIPResponse? >> > If the body is not an instance of InputStream then what type is that >> body >> > of yours? >> > >> > >> > On Tue, Jan 17, 2023 at 1:03 PM Dmitri T <taleras...@gmail.com> wrote: >> > >> > > Hello. >> > > After upgrading from Camel 3.7.x to the recent version, gzipped >> > > response (Content-Encoding: gzip) from a route comes empty. I have >> > > found an issue CAMEL-13092 (fixed in Camel 3.10) which caused that in >> > > >> > > >> camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java >> > > (line 602 doWriteGZIPResponse method): Object body = >> > > exchange.getIn().getBody(); >> > > I debugged and found. that stream was not empty, if that line was >> > > replaced by Object body = message.getBody(InputStream.class);, like it >> > > was done for plain non-gzipped response in doWriteDirectResponse >> > > method. >> > > I have tested this change with ServletStreamingGzipChunkedTest >> > > successfully. >> > > Is this an issue and could be fixed in the next Camel release? >> > > >> > >> > >> > -- >> > Claus Ibsen >> > ----------------- >> > @davsclaus >> > Camel in Action 2: https://www.manning.com/ibsen2 >> >> >> >> -- >> Best regards, >> Dmitri >> > > > -- > Claus Ibsen > ----------------- > @davsclaus > Camel in Action 2: https://www.manning.com/ibsen2 > -- Claus Ibsen ----------------- @davsclaus Camel in Action 2: https://www.manning.com/ibsen2