Class: Thin::DeferrableBody

Inherits:
Object
  • Object
show all
Includes:
EventMachine::Deferrable
Defined in:
lib/htttee/server/ext/thin/deferrable_body.rb

Direct Known Subclasses

EY::Tea::Server::ChunkedBody

Instance Method Summary collapse

Constructor Details

#initialize(initial_body = '') ⇒ DeferrableBody

Returns a new instance of DeferrableBody.



5
6
7
# File 'lib/htttee/server/ext/thin/deferrable_body.rb', line 5

def initialize(initial_body = '')
  @initial_body = initial_body.to_s
end

Instance Method Details

#<<(*chunks) ⇒ Object



15
16
17
# File 'lib/htttee/server/ext/thin/deferrable_body.rb', line 15

def <<(*chunks)
  call(chunks)
end

#call(body) ⇒ Object



9
10
11
12
13
# File 'lib/htttee/server/ext/thin/deferrable_body.rb', line 9

def call(body)
  body.each do |chunk|
    @body_callback.call(chunk)
  end
end

#each(&blk) ⇒ Object



19
20
21
22
# File 'lib/htttee/server/ext/thin/deferrable_body.rb', line 19

def each(&blk)
  blk.call(@initial_body) unless @initial_body.empty?
  @body_callback = blk
end