module RubyLLM::Streaming::FaradayHandlers
Builds Faraday on_data handlers for different major versions.
Public Instance Methods
# File lib/ruby_llm/streaming.rb, line 154 def build(faraday_v1:, on_chunk:, on_failed_response:) if faraday_v1 v1_on_data(on_chunk) else v2_on_data(on_chunk, on_failed_response) end end
Source
# File lib/ruby_llm/streaming.rb, line 162 def v1_on_data(on_chunk) proc do |chunk, _size| on_chunk.call(chunk, nil) end end
# File lib/ruby_llm/streaming.rb, line 168 def v2_on_data(on_chunk, on_failed_response) proc do |chunk, _bytes, env| if env&.status == 200 on_chunk.call(chunk, env) else on_failed_response.call(chunk, env) end end end