Class: RiotKit::Http::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/riot_kit/http/client.rb

Constant Summary collapse

DEFAULT_HEADERS =
{ 'Content-Type' => 'application/json' }.freeze

Instance Method Summary collapse

Constructor Details

#initialize(base_url:, headers: {}, timeout: 30, logger: nil, retry_attempts: 3, retry_base_delay: 0.5) ⇒ Client

Returns a new instance of Client.



21
22
23
24
25
26
27
28
29
# File 'lib/riot_kit/http/client.rb', line 21

def initialize(base_url:, headers: {}, timeout: 30, logger: nil,
               retry_attempts: 3, retry_base_delay: 0.5)
  @base_url = base_url.to_s.chomp('/')
  @headers = DEFAULT_HEADERS.merge(headers)
  @timeout = timeout
  @logger = logger
  @retry_attempts = retry_attempts
  @retry_base_delay = retry_base_delay
end

Instance Method Details

#get(path, query: nil, headers: nil) ⇒ Object



31
32
33
# File 'lib/riot_kit/http/client.rb', line 31

def get(path, query: nil, headers: nil)
  request(:get, path, query: query, headers: headers)
end

#post(path, body: nil, query: nil, headers: nil) ⇒ Object



35
36
37
# File 'lib/riot_kit/http/client.rb', line 35

def post(path, body: nil, query: nil, headers: nil)
  request(:post, path, body: body, query: query, headers: headers)
end