module Roda::RodaPlugins::Streaming::InstanceMethods
def handle_stream_error(e, out)
def handle_stream_error(e, out) raise e end
def stream(opts=OPTS, &block)
status and headers, calling the block to get the streaming response.
Immediately return a streaming response using the current response
def stream(opts=OPTS, &block) if opts[:loop] block = proc do |out| until out.closed? begin yield(out) rescue => e handle_stream_error(e, out) end end end end stream_class = (opts[:async] && RUBY_VERSION >= '2.3') ? AsyncStream : Stream throw :halt, @_response.finish_with_body(stream_class.new(opts, &block)) end