you can send async with exchange.getResponseSender().send(…, callback)

On 06.09.2017, at 03:38, Hicks, Matt <> wrote:

Great, thanks! Are there any examples of using an OutputStream with Undertow?

On Tue, Sep 5, 2017, 4:39 PM Stuart Douglas <> wrote:
My bad, I did not read your post properly and was thinking of gzip.

I think you can still use ZipOutputStream though, it will only be
blocking if the underlying Stream is blocking, so using something like
a ByteArrayOutputStream would make the operation non blocking. If you
want to avoid buffering the whole zip in memory you could potentially
alternate between writing data to the ZipOutputStream and then taking
anything written to the ByteArrayOutputStream and flushing it to the
response channel.


On Wed, Sep 6, 2017 at 1:31 AM, Hicks, Matt <> wrote:
> I've looked at DeflatingStreamSinkConduit, but am at a loss to figure out
> how to adapt this to streaming a zip file.  Is there any other information
> you could give me?
> Thanks
> On Thu, Aug 31, 2017 at 11:46 PM Stuart Douglas <> wrote:
>> You could potentially adapt
>> io.undertow.conduits.DeflatingStreamSinkConduit, which uses a
>> Stuart
>> On Fri, Sep 1, 2017 at 5:57 AM, Hicks, Matt <> wrote:
>> > I'm trying to create ZIP files on-demand from the server and stream them
>> > back to the browser, but I'm not sure the proper way to do this.  The
>> > only
>> > way I can think of is to use a `ZipOutputStream`, but that would be a
>> > blocking operation.  Is there a better way to do this?
>> >
>> > _______________________________________________
>> > undertow-dev mailing list
>> >
>> >
undertow-dev mailing list