Class: Slack::Web::Faraday::Response::RaiseError

Inherits:
Faraday::Response::Middleware
  • Object
show all
Defined in:
lib/slack/web/faraday/response/raise_error.rb

Instance Method Summary collapse

Instance Method Details

#on_complete(env) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/slack/web/faraday/response/raise_error.rb', line 7

def on_complete(env)
  raise Slack::Web::Api::Errors::TooManyRequestsError, env.response if env.status == 429
  return unless (body = env.body) && !body['ok']

  error_message =
    body['error'] || body['errors'].map { |message| message['error'] }.join(',')

  error_class = Slack::Web::Api::Errors::ERROR_CLASSES[error_message]
  error_class ||= Slack::Web::Api::Errors::SlackError
  raise error_class.new(error_message, env.response)
end