module Castle::Core::SendRequest

this class is responsible for making requests to api

Constants

DEFAULT_HEADERS

Default headers that we add to passed ones

Public Class Methods

build(command, headers, config) click to toggle source

@param command [String] @param headers [Hash] @param config [Castle::Configuration, Castle::SingletonConfiguration, nil]

# File lib/castle/core/send_request.rb, line 24
def build(command, headers, config)
  url = "#{config.base_url.path}/#{command.path}"
  request_obj = Net::HTTP.const_get(command.method.to_s.capitalize).new(url, headers)

  request_obj.body = ::Castle::Utils::CleanInvalidChars.call(command.data || {}).to_json

  Castle::Logger.call("#{url}:", request_obj.body, config)

  request_obj.basic_auth('', config.api_secret)
  request_obj
end
call(command, headers, http = nil, config = nil) click to toggle source

@param command [String] @param headers [Hash] @param http [Net::HTTP] @param config [Castle::Configuration, Castle::SingletonConfiguration, nil]

# File lib/castle/core/send_request.rb, line 17
def call(command, headers, http = nil, config = nil)
  (http || Castle::Core::GetConnection.call).request(build(command, headers.merge(DEFAULT_HEADERS), config))
end