Public Class methods
new(request, session)
[show source]
# File lib/httpx/plugins/stream.rb 5 def initialize(request, session) 6 @request = request 7 @session = session 8 @response = nil 9 end
Public Instance methods
each(&block)
[show source]
# File lib/httpx/plugins/stream.rb 11 def each(&block) 12 return enum_for(__method__) unless block 13 14 @request.stream = self 15 16 begin 17 @on_chunk = block 18 19 response.raise_for_status 20 ensure 21 response.close if @response 22 @on_chunk = nil 23 end 24 end
each_line()
[show source]
# File lib/httpx/plugins/stream.rb 26 def each_line 27 return enum_for(__method__) unless block_given? 28 29 line = "".b 30 31 each do |chunk| 32 line << chunk 33 34 while (idx = line.index("\n")) 35 yield line.byteslice(0..idx - 1) 36 37 line = line.byteslice(idx + 1..-1) 38 end 39 end 40 41 yield line unless line.empty? 42 end
inspect()
:nocov:
[show source]
# File lib/httpx/plugins/stream.rb 52 def inspect 53 "#<StreamResponse:#{object_id}>" 54 end
on_chunk(chunk)
This is a ghost method. It’s to be used ONLY internally, when processing streams
[show source]
# File lib/httpx/plugins/stream.rb 45 def on_chunk(chunk) 46 raise NoMethodError unless @on_chunk 47 48 @on_chunk.call(chunk) 49 end