Class: Async::HTTP::Body
- Inherits:
-
Queue
- Object
- Queue
- Async::HTTP::Body
- Defined in:
- lib/async/http/body.rb
Instance Method Summary collapse
- #close ⇒ Object
- #closed? ⇒ Boolean
- #each ⇒ Object
-
#initialize ⇒ Body
constructor
A new instance of Body.
- #read ⇒ Object (also: #join)
- #write(chunk) ⇒ Object
Constructor Details
#initialize ⇒ Body
Returns a new instance of Body.
26 27 28 29 30 |
# File 'lib/async/http/body.rb', line 26 def initialize super @closed = false end |
Instance Method Details
#close ⇒ Object
62 63 64 |
# File 'lib/async/http/body.rb', line 62 def close self.enqueue(nil) end |
#closed? ⇒ Boolean
32 33 34 |
# File 'lib/async/http/body.rb', line 32 def closed? @closed end |
#each ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/async/http/body.rb', line 36 def each return if @closed while chunk = self.dequeue yield chunk end @closed = true end |
#read ⇒ Object Also known as: join
46 47 48 49 50 51 52 53 54 |
# File 'lib/async/http/body.rb', line 46 def read buffer = Async::IO::BinaryString.new self.each do |chunk| buffer << chunk end return buffer end |
#write(chunk) ⇒ Object
58 59 60 |
# File 'lib/async/http/body.rb', line 58 def write(chunk) self.enqueue(chunk) end |