Feature #8155

Improve support for streaming responses in WEBrick

Added by drbrain (Eric Hodel) almost 8 years ago. Updated over 7 years ago.

Target version:


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.


webrick.httpresponse.stringio.patch (2.36 KB) webrick.httpresponse.stringio.patch drbrain (Eric Hodel), 03/23/2013 05:00 PM

Updated by drbrain (Eric Hodel) over 7 years ago

  • Assignee changed from nahi (Hiroshi Nakamura) to drbrain (Eric Hodel)

Updated by drbrain (Eric Hodel) over 7 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

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.

Also available in: Atom PDF