Class: Candid::ExpectedNetworkStatus::V1::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/candid/expected_network_status/v_1/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Candid::ExpectedNetworkStatus::V1::Client



8
9
10
# File 'lib/candid/expected_network_status/v_1/client.rb', line 8

def initialize(client:)
  @client = client
end

Instance Method Details

#compute(request_options: {}, **params) ⇒ Candid::ExpectedNetworkStatus::V1::Types::ExpectedNetworkStatusResponse

Computes the expected network status given the provided information.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/candid/expected_network_status/v_1/client.rb', line 15

def compute(request_options: {}, **params)
  _request = Candid::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
    method: "POST",
    path: "/api/expected-network-status/v1",
    body: params
  )
  begin
    _response = @client.send(_request)
  rescue Net::HTTPRequestTimeout
    raise Candid::Errors::TimeoutError
  end
  code = _response.code.to_i
  if code.between?(200, 299)
    Candid::ExpectedNetworkStatus::V1::Types::ExpectedNetworkStatusResponse.load(_response.body)
  else
    error_class = Candid::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(_response.body, code: code)
  end
end