Hi there! async.callback will never be part of the spec, that's true. But there will be a completely different spec for a successor of Rack, which will include first class support for async responses. Howerver, work is going rather slow on that front at the moment. At status quo, both Thin and Rainbows support just returning a Defferrable (or really, anything that responds to both callback and errback) without the need to an async response, rendering both the async handshake and async.callback unnecessary. Main issue is other middleware (esp. Rack::Lint) wrapping the body object in something that does not proxy those methods. Konstantin On Monday, April 16, 2012 2:41:07 AM UTC+2, pmahoney wrote: > > I am doing some work with JRuby that may need asynchronous HTTP support. > There doesn't seem to be much documentation about this online, so I did > some digging to see how the existing Rack async servers do things, and > wrote up some documentation for myself. I thought maybe others would find > it useful: > http://polycrystal.org/2012/04/15/asynchronous_responses_in_rack.html > > I also found some posts from a couple years ago implying that > 'async.callback' will never be a part of the Rack specification: > > > https://groups.google.com/forum/?fromgroups#!searchin/rack-devel/async/rack-devel/fu58paleLJg/frwK57QHNn4J > > Is this still the case? I must say I'm a bit disappointed by this > discovery, but I don't fully understand all the issues (in particular, my > documentation above ignores interaction with middleware). >