1 # based on async_examples/async_app.ru by James Tucker
2 class DeferrableChunkBody
3 include EventMachine::Deferrable
7 @body_callback.call("#{chunk.size.to_s(16)}\r\n")
8 @body_callback.call(chunk)
9 @body_callback.call("\r\n")
14 @body_callback = block
18 @body_callback.call("0\r\n\r\n")
24 body = DeferrableChunkBody.new
25 body.callback { body.finish }
27 'Content-Type' => 'text/plain',
28 'Transfer-Encoding' => 'chunked',
31 env['async.callback'].call([ 200, headers, body ])
37 body.call "World #{env['PATH_INFO']}\n"