class Ripcord::BaseClient

Attributes

authentication[RW]

Public Class Methods

new(endpoint_url) click to toggle source
# File lib/ripcord/base_client.rb, line 16
def initialize(endpoint_url)
  @endpoint_url = URI.parse(endpoint_url)
  @http_client = Net::HTTP.new(@endpoint_url.host, @endpoint_url.port)
end

Public Instance Methods

generate_request_id() click to toggle source
# File lib/ripcord/base_client.rb, line 10
def generate_request_id
  SecureRandom.hex(16)
end

Protected Instance Methods

execute_request(json_rpc_request) click to toggle source
# File lib/ripcord/base_client.rb, line 23
def execute_request(json_rpc_request)
  request = Net::HTTP::Post.new(@endpoint_url.request_uri)
  request.content_type = "application/json"

  payload_hash = json_rpc_request.to_payload

  authentication&.apply_to(request, payload_hash)

  request.body = JSON.generate(payload_hash)

  @http_client.request(request)
end