Method: OpenSSL::Buffering#read
- Defined in:
- lib/openssl/buffering.rb
#read(size = nil, buf = nil) ⇒ Object
Reads size bytes from the stream. If buf is provided it must reference a string which will receive the data.
See IO#read for full details.
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/openssl/buffering.rb', line 119 def read(size=nil, buf=nil) if size == 0 if buf buf.clear return buf else return "" end end until @eof break if size && size <= @rbuffer.size fill_rbuff end ret = consume_rbuff(size) || "" if buf buf.replace(ret) ret = buf end (size && ret.empty?) ? nil : ret end |