Class: GeminiAi::MiddlewareErrors

Inherits:
Faraday::Middleware
  • Object
show all
Defined in:
lib/gemini-ai.rb

Instance Method Summary collapse

Instance Method Details

#call(env) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/gemini-ai.rb', line 14

def call(env)
  @app.call(env)
rescue Faraday::Error => e
  raise e unless e.response.is_a?(Hash)

  logger = Logger.new($stdout)
  logger.formatter = proc do |_severity, _datetime, _progname, msg|
    "\033[31mGemini AI HTTP Error (spotted in ruby-gemini-ai #{VERSION}): #{msg}\n\033[0m"
  end
  logger.error(e.response[:body])

  raise e
end