Class: Async::HTTP::FixedBody
- Inherits:
-
Object
- Object
- Async::HTTP::FixedBody
- Defined in:
- lib/async/http/body.rb
Constant Summary collapse
- CHUNK_LENGTH =
1024*1024
Instance Method Summary collapse
- #close ⇒ Object
- #closed? ⇒ Boolean
- #each ⇒ Object
-
#initialize(length, stream) ⇒ FixedBody
constructor
A new instance of FixedBody.
- #read ⇒ Object (also: #join)
Constructor Details
#initialize(length, stream) ⇒ FixedBody
Returns a new instance of FixedBody.
108 109 110 111 112 |
# File 'lib/async/http/body.rb', line 108 def initialize(length, stream) @length = length @remaining = length @stream = stream end |
Instance Method Details
#close ⇒ Object
138 139 140 |
# File 'lib/async/http/body.rb', line 138 def close read end |
#closed? ⇒ Boolean
114 115 116 |
# File 'lib/async/http/body.rb', line 114 def closed? @remaining == 0 end |
#each ⇒ Object
118 119 120 121 122 123 124 125 126 |
# File 'lib/async/http/body.rb', line 118 def each while @remaining > 0 if chunk = @stream.read(CHUNK_LENGTH) @remaining -= chunk.bytesize yield chunk end end end |
#read ⇒ Object Also known as: join
128 129 130 131 132 133 134 |
# File 'lib/async/http/body.rb', line 128 def read buffer = @stream.read(@remaining) @remaining = 0 return buffer end |