Class: Kie::Middleware::RaiseError

Inherits:
Faraday::Middleware
  • Object
show all
Defined in:
lib/kie/middleware/raise_error.rb

Overview

Faraday middleware that raises Kie-specific exceptions based on HTTP status codes

Constant Summary collapse

ERROR_MAP =
{
  400 => InvalidParametersError,
  401 => AuthenticationError,
  402 => InsufficientCreditsError,
  404 => NotFoundError,
  422 => InvalidParametersError,
  429 => RateLimitError,
  455 => ServiceUnavailableError
}.freeze

Instance Method Summary collapse

Instance Method Details

#on_complete(env) ⇒ Object

Raises:

  • (error_class)


20
21
22
23
24
25
26
27
# File 'lib/kie/middleware/raise_error.rb', line 20

def on_complete(env)
  return if env.success?

  error_class = determine_error_class(env.status)
  message = extract_message(env.body, env.status)

  raise error_class.new(message, status_code: env.status, response_body: env.body)
end