misc_rbtools/classes/kenna_api_client.rb
2019-04-28 02:32:09 -05:00

26 lines
702 B
Ruby

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