require 'net/http' # Kenna Security API Client # Requests are limited to a maximum of 5 requests per second. # If you exceed this limit, your request will receive a “429: Too Many Requests" status code response. class APIClient attr_accessor :api_token, :api_url def initialize(api_token) @api_token = api_token @api_url = 'https://api.kennasecurity.com' end private def get(uri) # pass a relative url: example - /vulnerabilities url = URI("#{api_url}/#{uri}") request = Net::HTTP::Get.new(uri) request['X-Risk-Token'] = api_token response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(request) end end end