Sha256: d98847b1b6103d270ecadb80cfea922e1585ca82c1794811dd7e1f229d974455

Contents?: true

Size: 1.32 KB

Versions: 16

Compression:

Stored size: 1.32 KB

Contents

# bandwidth
#
# This file was automatically generated by APIMATIC v2.0
# ( https://apimatic.io ).

module Bandwidth
  # BaseController.
  class BaseController
    attr_accessor :config, :http_call_back

    def initialize(config, http_call_back: nil)
      @config = config
      @http_call_back = http_call_back

      @global_headers = {
        'user-agent' => 'ruby-sdk-refs/tags/ruby3.12.1'
      }
    end

    def validate_parameters(args)
      args.each do |_name, value|
        if value.nil?
          raise ArgumentError, "Required parameter #{_name} cannot be nil."
        end
      end
    end

    def execute_request(request, binary: false)
      @http_call_back.on_before_request(request) if @http_call_back

      APIHelper.clean_hash(request.headers)
      request.headers.merge!(@global_headers)

      response = if binary
                   config.http_client.execute_as_binary(request)
                 else
                   config.http_client.execute_as_string(request)
                 end
      @http_call_back.on_after_response(response) if @http_call_back

      response
    end

    def validate_response(response)
      raise APIException.new 'HTTP Response Not OK', response unless
        response.status_code.between?(200, 208) # [200,208] = HTTP OK
    end
  end
end

Version data entries

16 entries across 4 versions & 1 rubygems

Version Path
bandwidth-sdk-3.13.2 lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb
bandwidth-sdk-3.13.2 lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb
bandwidth-sdk-3.13.2 lib/bandwidth/voice_lib/voice/controllers/base_controller.rb
bandwidth-sdk-3.13.2 lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/base_controller.rb
bandwidth-sdk-3.13.1 lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb
bandwidth-sdk-3.13.1 lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/base_controller.rb
bandwidth-sdk-3.13.1 lib/bandwidth/voice_lib/voice/controllers/base_controller.rb
bandwidth-sdk-3.13.1 lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb
bandwidth-sdk-3.13.0 lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb
bandwidth-sdk-3.13.0 lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb
bandwidth-sdk-3.13.0 lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/base_controller.rb
bandwidth-sdk-3.13.0 lib/bandwidth/voice_lib/voice/controllers/base_controller.rb
bandwidth-sdk-3.12.1 lib/bandwidth/messaging_lib/messaging/controllers/base_controller.rb
bandwidth-sdk-3.12.1 lib/bandwidth/web_rtc_lib/web_rtc/controllers/base_controller.rb
bandwidth-sdk-3.12.1 lib/bandwidth/voice_lib/voice/controllers/base_controller.rb
bandwidth-sdk-3.12.1 lib/bandwidth/two_factor_auth_lib/two_factor_auth/controllers/base_controller.rb