Class: Slack::Web::Faraday::Response::RaiseError
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- Slack::Web::Faraday::Response::RaiseError
- Defined in:
- lib/slack/web/faraday/response/raise_error.rb
Instance Method Summary collapse
Instance Method Details
#call(env) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/slack/web/faraday/response/raise_error.rb', line 24 def call(env) super rescue Slack::Web::Api::Errors::SlackError, Slack::Web::Api::Errors::TooManyRequestsError raise rescue ::Faraday::ParsingError raise Slack::Web::Api::Errors::ParsingError.new('parsing_error', env.response) rescue ::Faraday::TimeoutError, ::Faraday::ConnectionFailed raise Slack::Web::Api::Errors::TimeoutError.new('timeout_error', env.response) end |
#on_complete(env) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# 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 env.success? body = env.body return unless body return if body['ok'] = body['error'] || body['errors'].map { || ['error'] }.join(',') error_class = Slack::Web::Api::Errors::ERROR_CLASSES[] error_class ||= Slack::Web::Api::Errors::SlackError raise error_class.new(, env.response) end |