Sha256: e1eee28321aecda8b9d0b43beb466a31c4aff8bb64be8f950c3fb1dc4497059f

Contents?: true

Size: 485 Bytes

Versions: 11

Compression:

Stored size: 485 Bytes

Contents

module Restforce
  class Middleware::RaiseError < Faraday::Response::Middleware
    def on_complete(env)
      case env[:status]
      when 404
        raise Faraday::Error::ResourceNotFound, message(env)
      when 401
        raise Restforce::UnauthorizedError, message(env)
      when 400...600
        raise Faraday::Error::ClientError, message(env)
      end
    end

    def message(env)
      "#{env[:body].first['errorCode']}: #{env[:body].first['message']}"
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
restforce-0.1.2 lib/restforce/middleware/raise_error.rb
restforce-0.1.1 lib/restforce/middleware/raise_error.rb
restforce-0.1.0 lib/restforce/middleware/raise_error.rb
restforce-0.0.8 lib/restforce/middleware/raise_error.rb
restforce-0.0.7 lib/restforce/middleware/raise_error.rb
restforce-0.0.6 lib/restforce/middleware/raise_error.rb
restforce-0.0.5 lib/restforce/middleware/raise_error.rb
restforce-0.0.4 lib/restforce/middleware/raise_error.rb
restforce-0.0.3 lib/restforce/middleware/raise_error.rb
restforce-0.0.2 lib/restforce/middleware/raise_error.rb
restforce-0.0.1 lib/restforce/middleware/raise_error.rb