class Ribbon::Intercom::Client::SDK::Adapters::HttpAdapter::Connection

Attributes

url[R]

Public Class Methods

new(url, token, secret) click to toggle source
# File lib/ribbon/intercom/client/sdk/adapters/http_adapter/connection.rb, line 10
def initialize(url, token, secret)
  @url = url.is_a?(String) ? URI(url) : url

  @_client = Net::HTTP.new(@url.hostname, @url.port)
  @_client.use_ssl = @url.is_a?(URI::HTTPS)
  @_client.verify_mode = OpenSSL::SSL::VERIFY_PEER
  @_client.cert_store = OpenSSL::X509::Store.new.tap { |s| s.set_default_paths }

  @_headers = {
    'Authorization' => "Basic #{Base64.strict_encode64("#{token}:#{secret}")}"
  }
end

Public Instance Methods

put(params={}) click to toggle source
# File lib/ribbon/intercom/client/sdk/adapters/http_adapter/connection.rb, line 23
def put(params={})
  @_client.put(url.request_uri, params[:body], _prepare_headers(params[:headers]).merge(@_headers))
end

Private Instance Methods

_prepare_headers(headers) click to toggle source
# File lib/ribbon/intercom/client/sdk/adapters/http_adapter/connection.rb, line 29
def _prepare_headers(headers)
  Hash[(headers || {}).map { |k, v| [k.to_s, v.to_s] }]
end