Feature #8155

Improve support for streaming responses in WEBrick

Added by Eric Hodel about 1 year ago. Updated 8 months ago.

[ruby-core:53665]
Status:Closed
Priority:Normal
Assignee:Eric Hodel
Category:lib
Target version:2.1.0

Description

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 Magnifier (2.36 KB) Eric Hodel, 03/23/2013 05:00 PM

Associated revisions

Revision 42427
Added by Eric Hodel 8 months ago

  • 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.

History

#1 Updated by Eric Hodel 9 months ago

  • Assignee changed from Hiroshi Nakamura to Eric Hodel

#2 Updated by Eric Hodel 8 months 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