Sha256: 1e63074673af838f84b35321c68fb61590db7a1a730d53b3dff0e0e60b09f9df

Contents?: true

Size: 553 Bytes

Versions: 6

Compression:

Stored size: 553 Bytes

Contents

require 'faraday'

module Uploadcare
  module Connections
    module Response
      class RaiseError < Faraday::Response::Middleware
        def on_complete(response)
          @error_codes = Uploadcare::Error.errors.keys
          @status = response[:status]

          if @error_codes.include?(@status)
            error = Uploadcare::Error.errors[@status].new
            fail(error)
          end
        end
      end
    end
  end
end

Faraday::Response.register_middleware :uploadcare_raise_error => Uploadcare::Connections::Response::RaiseError

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
uploadcare-ruby-2.1.2 lib/uploadcare/rest/middlewares/raise_error_middleware.rb
uploadcare-ruby-1.2.2 lib/uploadcare/rest/middlewares/raise_error_middleware.rb
uploadcare-ruby-1.2.1 lib/uploadcare/rest/middlewares/raise_error_middleware.rb
uploadcare-ruby-2.1.1 lib/uploadcare/rest/middlewares/raise_error_middleware.rb
uploadcare-ruby-2.0.0 lib/uploadcare/rest/middlewares/raise_error_middleware.rb
uploadcare-ruby-1.1.0 lib/uploadcare/rest/middlewares/raise_error_middleware.rb