class Hackle::HTTP

Public Class Methods

check_successful(status_code:) click to toggle source
# File lib/hackle/http/http.rb, line 31
def self.check_successful(status_code:)
  unless successful?(status_code: status_code)
    raise UnexpectedResponseError, "HTTP status code #{status_code}"
  end
end
client(base_uri:) click to toggle source
# File lib/hackle/http/http.rb, line 10
def self.client(base_uri:)
  uri = URI.parse(base_uri)
  client = Net::HTTP.new(uri.host, uri.port)
  client.use_ssl = uri.scheme == 'https'
  client.open_timeout = 5
  client.read_timeout = 10
  client
end
sdk_headers(sdk_info:) click to toggle source
# File lib/hackle/http/http.rb, line 19
def self.sdk_headers(sdk_info:)
  {
    'X-HACKLE-SDK-KEY' => sdk_info.key,
    'X-HACKLE-SDK-NAME' => sdk_info.name,
    'X-HACKLE-SDK-VERSION' => sdk_info.version
  }
end
successful?(status_code:) click to toggle source
# File lib/hackle/http/http.rb, line 27
def self.successful?(status_code:)
  status_code >= 200 && status_code < 300
end