Commit a6a59c6
Changed files (4)
lib
net
spec
net
lib/net/llm/anthropic.rb
@@ -48,8 +48,11 @@ module Net
end
def handle_response(response)
- raise "HTTP #{response.code}: #{response.body}" unless response.is_a?(Net::HTTPSuccess)
- JSON.parse(response.body)
+ if response.is_a?(Net::HTTPSuccess)
+ JSON.parse(response.body)
+ else
+ { "code" => response.code, "body" => response.body }
+ end
end
def stream_request(url, payload, &block)
lib/net/llm/ollama.rb
@@ -64,8 +64,11 @@ module Net
end
def handle_response(response)
- raise "HTTP #{response.code}: #{response.body}" unless response.is_a?(Net::HTTPSuccess)
- JSON.parse(response.body)
+ if response.is_a?(Net::HTTPSuccess)
+ JSON.parse(response.body)
+ else
+ { "code" => response.code, "body" => response.body }
+ end
end
def stream_request(url, payload, &block)
spec/net/llm/anthropic_spec.rb
@@ -81,7 +81,9 @@ RSpec.describe Net::Llm::Anthropic do
stub_request(:post, "https://api.anthropic.com/v1/messages")
.to_return(status: 401, body: "Unauthorized")
- expect { client.messages(messages) }.to raise_error(/HTTP 401/)
+ result = client.messages(messages)
+ expect(result["code"]).to eq("401")
+ expect(result["body"]).to eq("Unauthorized")
end
end
spec/net/llm/ollama_spec.rb
@@ -57,7 +57,9 @@ RSpec.describe Net::Llm::Ollama do
stub_request(:post, "http://localhost:11434/api/chat")
.to_return(status: 500, body: "Server error")
- expect { client.chat(messages) }.to raise_error(/HTTP 500/)
+ result = client.chat(messages)
+ expect(result["code"]).to eq("500")
+ expect(result["body"]).to eq("Server error")
end
end