Class: Restforce::Middleware::RaiseError
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- Restforce::Middleware::RaiseError
- Defined in:
- lib/restforce/middleware/raise_error.rb
Instance Method Summary collapse
Instance Method Details
#body ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/restforce/middleware/raise_error.rb', line 26 def body @body = (@env[:body].is_a?(Array) ? @env[:body].first : @env[:body]) case @body when Hash @body else { 'errorCode' => '(error code missing)', 'message' => @body } end end |
#message ⇒ Object
22 23 24 |
# File 'lib/restforce/middleware/raise_error.rb', line 22 def "#{body['errorCode']}: #{body['message']}" end |
#on_complete(env) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/restforce/middleware/raise_error.rb', line 3 def on_complete(env) @env = env case env[:status] when 300 raise Faraday::Error::ClientError.new("300: The external ID provided matches " \ "more than one record", response_values) when 401 raise Restforce::UnauthorizedError, when 404 raise Faraday::Error::ResourceNotFound, when 413 raise Faraday::Error::ClientError.new("413: Request Entity Too Large", response_values) when 400...600 raise Faraday::Error::ClientError.new(, response_values) end end |
#response_values ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/restforce/middleware/raise_error.rb', line 37 def response_values { status: @env[:status], headers: @env[:response_headers], body: @env[:body] } end |