Class: PagerDuty::Connection::RaiseApiErrorOnNon200
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- PagerDuty::Connection::RaiseApiErrorOnNon200
- Defined in:
- lib/pager_duty/connection.rb
Instance Method Summary collapse
Instance Method Details
#call(env) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/pager_duty/connection.rb', line 60 def call(env) response = @app.call env unless [200, 201, 204].include?(response.status) url = response.env[:url].to_s = "Got HTTP #{response.status}: #{response.reason_phrase}\nFrom #{url}" if error = response.body begin # TODO May Need to check error.errors too += "\n#{JSON.parse(error)}" rescue JSON::ParserError += "\n#{error}" end end raise ApiError, else response end end |