Sha256: b8b01e4e45d3e82c7197a9e94a2d9619d49ca499fb95b62ee3eb180f9576061e

Contents?: true

Size: 1.39 KB

Versions: 12

Compression:

Stored size: 1.39 KB

Contents

# frozen_string_literal: true

module Gupshup
  module REST
    class GupshupError < StandardError
      # @deprecated all errors that have a body are now 'Twilio::RestError's
      def body
        warn 'Gupshup error handling'
        nil
      end
    end

    class RestError < GupshupError
      attr_reader :message, :response, :code, :status_code, :details, :more_info, :error_message
      def initialize(message)
        super
        @status_code = response.status_code
        @code = response.body.fetch('code', @status_code)
        @details = response.body.fetch('details', nil)
        @error_message = response.body.fetch('message', nil)
        @more_info = response.body.fetch('more_info', nil)
        @response = response

      end

      # @deprecated use #response instead
      def body
        warn 'This error used to be a "Twilio::REST::TwilioError" but is now a "Twilio::REST::RestError". ' \
             'Please use #response instead of #body.'
        @response
      end

      def to_s
        message
      end

      private

      def format_message(initial_message)
        message = "[HTTP #{status_code}] #{code} : #{initial_message}"
        message += "\n#{error_message}" if error_message
        message += "\n#{details}" if details
        message += "\n#{more_info}" if more_info
        message + "\n\n"
      end
    end

    class ObsoleteError < StandardError
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
gupshup_whatsapp-1.0.7 lib/gupshup_whatsapp/framework/error.rb
gupshup_whatsapp-1.0.6 lib/gupshup_whatsapp/framework/error.rb
gupshup_whatsapp-1.0.5 lib/gupshup_whatsapp/framework/error.rb
gupshup_whatsapp-1.0.4 lib/gupshup_whatsapp/framework/error.rb
gupshup_whatsapp-1.0.3 lib/gupshup_whatsapp/framework/error.rb
gupshup_whatsapp-1.0.2 lib/gupshup_whatsapp/framework/error.rb
gupshup_whatsapp-1.0.1 lib/gupshup_whatsapp/framework/error.rb
gupshup_whatsapp-1.0.0 lib/gupshup_whatsapp/framework/error.rb
gupshup_whatsapp-0.2.5 lib/gupshup_whatsapp/framework/error.rb
gupshup_whatsapp-0.2.3 lib/gupshup_whatsapp/framework/error.rb
gupshup_whatsapp-0.2.1 lib/gupshup_whatsapp/framework/error.rb
gupshup_whatsapp-0.2.0 lib/gupshup_whatsapp/framework/error.rb