class HTTP::Response::Streamer
Public Class Methods
new(str, encoding: Encoding::BINARY)
click to toggle source
# File lib/webmock/http_lib_adapters/http_rb/streamer.rb, line 6 def initialize(str, encoding: Encoding::BINARY) @io = StringIO.new str @encoding = encoding end
Public Instance Methods
close()
click to toggle source
# File lib/webmock/http_lib_adapters/http_rb/streamer.rb, line 31 def close @io.close end
finished_request?()
click to toggle source
# File lib/webmock/http_lib_adapters/http_rb/streamer.rb, line 35 def finished_request? @io.eof? end
readpartial(size = nil, outbuf = nil)
click to toggle source
# File lib/webmock/http_lib_adapters/http_rb/streamer.rb, line 11 def readpartial(size = nil, outbuf = nil) unless size if defined?(HTTP::Connection::BUFFER_SIZE) size = HTTP::Connection::BUFFER_SIZE elsif defined?(HTTP::Client::BUFFER_SIZE) size = HTTP::Client::BUFFER_SIZE end end chunk = @io.read(size, outbuf) # HTTP.rb 6.0+ expects EOFError at end-of-stream instead of nil if chunk.nil? raise EOFError if HTTP::VERSION >= "6.0.0" return nil end chunk.force_encoding(@encoding) end
sequence_id()
click to toggle source
# File lib/webmock/http_lib_adapters/http_rb/streamer.rb, line 39 def sequence_id -1 end