Currently WEBrick only understands a body that is a String or an IO. This makes it difficult to stream a response body. Instead of providing a body that duck-types to IO you must use IO.pipe which can be clumsy.
The attached patch checks if the body responds to #readpartial (#read is assumed) instead of if it is an instance of class IO.
This issue was solved with changeset r42427.
Eric, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
lib/webrick/httpresponse.rb: Allow #body to be an IO-like object
that responds to #readpartial and #read.
[ruby-trunk - Feature #8155]
NEWS: NEWS for above
test/webrick/test_httpresponse.rb: Tests for above.