[Mongrel] Chunked transfer

Eric Wong normalperson at yhbt.net
Thu Jun 17 16:40:36 EDT 2010

Sergio Lombrico <sergio.lombrico at gmail.com> wrote:
> Hi.
> Does mongrel support 'chunked' transfer encoding ?

Hi Sergio,

Not for requests, but of course it can generate chunked responses.

> We are sending images from a J2ME app, but do not seem to be able to read
> the entire xml message that gets sent from the mobile device. The message is
> posted to our RoR app running on a mongrel server.

<shameless plug(s)>

Rainbows![1] and Zbatery[2] both support chunked requests using the HTTP
parser found in Unicorn[3] (which is descended from the Mongrel parser).

The ThreadSpawn[4] concurrency model with Rainbows!/Zbatery is similar
to Mongrel, and can handle slow clients reasonably well.  Both Rainbows!
and Zbatery work great on *nix, and Zbatery _may_ work on Win32 as well.

Unicorn itself is only designed to run behind nginx, so it is wasteful
if you're dealing with slow connections from a J2ME mobile app.  I don't
remember nginx being able to parse chunked requests, but that may have
changed.  The added benefit of Rainbows!/Zbatery is they can read and
process the chunked request in your app incrementally while it's being

[1] http://rainbows.rubyforge.org/
[2] http://zbatery.bogomip.org/ (no, not a typo :)
[3] http://unicorn.bogomips.org/
[4] http://rainbows.rubyforge.org/Rainbows/ThreadSpawn.html

</shameless plug(s)>

Eric Wong

More information about the Mongrel-users mailing list