Sha256: 0871014137731c95a9fe5243a9053a09dd7bd054cc68691445ea8c69584ba001

Contents?: true

Size: 512 Bytes

Versions: 1

Compression:

Stored size: 512 Bytes

Contents

module Mailstro
  module Middleware
    module Response
      class RaiseError < Faraday::Response::RaiseError
        def on_complete(env)
          case env[:status]
          when 401
            raise Error::AuthorisationError.new("api_key not authorised", env)
          when 422
            raise Error::ValidationError.new(env[:body][:errors])
          when 500
            raise Error::MailstroError.new(env[:body])
          else
            super
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mailstro-0.1.0 lib/mailstro/middleware/response/raise_error.rb