Sha256: fd93431e64ddc7ed5a7991afe3ddd0d9c6dedf4c73dfc17a8811c9da86672de1

Contents?: true

Size: 965 Bytes

Versions: 91

Compression:

Stored size: 965 Bytes

Contents

# frozen_string_literal: true

module Resend
  # Errors wrapper class
  # For more info: https://resend.com/docs/api-reference/error-codes
  class Error < StandardError
    # 4xx HTTP status code
    ClientError = Class.new(self)

    # 5xx HTTP status code
    ServerError = Class.new(self)

    # code 500
    InternalServerError = Class.new(ServerError)

    # code 422
    InvalidRequestError = Class.new(ServerError)

    # code 429
    RateLimitExceededError = Class.new(ServerError)

    # code 404
    NotFoundError = Class.new(ServerError)

    ERRORS = {
      401 => Resend::Error::InvalidRequestError,
      404 => Resend::Error::InvalidRequestError,
      422 => Resend::Error::InvalidRequestError,
      429 => Resend::Error::RateLimitExceededError,
      400 => Resend::Error::InvalidRequestError,
      500 => Resend::Error::InternalServerError
    }.freeze

    def initialize(msg, code = nil)
      super(msg)
      @code = code
    end
  end
end

Version data entries

91 entries across 91 versions & 2 rubygems

Version Path
resend-0.18.1 lib/resend/errors.rb
resend-0.18.0 lib/resend/errors.rb
resend-0.17.2 lib/resend/errors.rb
resend-0.17.1 lib/resend/errors.rb
resend-0.17.0 lib/resend/errors.rb
resend-0.16.0 lib/resend/errors.rb
resend-0.15.0 lib/resend/errors.rb
resend-0.14.0 lib/resend/errors.rb
resend-0.13.0 lib/resend/errors.rb
resend-0.12.0 lib/resend/errors.rb
harbr-2.8.1 vendor/bundle/ruby/3.2.0/gems/resend-0.8.1/lib/resend/errors.rb
resend-0.11.0 lib/resend/errors.rb
resend-0.10.0 lib/resend/errors.rb
harbr-0.2.10 vendor/bundle/ruby/3.2.0/gems/resend-0.8.1/lib/resend/errors.rb
resend-0.9.0 lib/resend/errors.rb
harbr-0.2.9 vendor/bundle/ruby/3.2.0/gems/resend-0.8.1/lib/resend/errors.rb
harbr-0.2.8 vendor/bundle/ruby/3.2.0/gems/resend-0.8.1/lib/resend/errors.rb
harbr-0.2.7 vendor/bundle/ruby/3.2.0/gems/resend-0.8.1/lib/resend/errors.rb
harbr-0.2.6 vendor/bundle/ruby/3.2.0/gems/resend-0.8.1/lib/resend/errors.rb
harbr-0.2.5 vendor/bundle/ruby/3.2.0/gems/resend-0.8.1/lib/resend/errors.rb