Module: RubyLLM::Providers::OpenAI::Streaming
- Defined in:
- lib/swarm_sdk/ruby_llm_patches/streaming_error_patch.rb
Class Method Summary collapse
Class Method Details
.parse_streaming_error(data) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/swarm_sdk/ruby_llm_patches/streaming_error_patch.rb', line 27 def parse_streaming_error(data) error_data = JSON.parse(data) return unless error_data.is_a?(Hash) error = error_data["error"] return unless error # Some proxies return {"error": "message"} instead of {"error": {"type": ..., "message": ...}} return [500, error.to_s] unless error.is_a?(Hash) case error["type"] when "server_error" [500, error["message"]] when "rate_limit_exceeded", "insufficient_quota" [429, error["message"]] else [400, error["message"]] end end |