class SC::Rack::DeferrableBody
Public Class Methods
new(options = {})
click to toggle source
# File lib/sproutcore/rack/proxy.rb, line 37 def initialize(options = {}) @options = options end
Public Instance Methods
call(body)
click to toggle source
# File lib/sproutcore/rack/proxy.rb, line 41 def call(body) body.each do |chunk| @body_callback.call(prepare_chunk(chunk)) end end
each(&blk)
click to toggle source
# File lib/sproutcore/rack/proxy.rb, line 57 def each(&blk) @body_callback = blk end
prepare_chunk(chunk)
click to toggle source
# File lib/sproutcore/rack/proxy.rb, line 47 def prepare_chunk(chunk) if chunked? size = chunk.respond_to?(:bytesize) ? chunk.bytesize : chunk.length "#{size.to_s(16)}\r\n#{chunk}\r\n" else # Thin doesn't like null bodies chunk || '' end end
Private Instance Methods
chunked?()
click to toggle source
# File lib/sproutcore/rack/proxy.rb, line 63 def chunked? @options[:chunked] end