class Mihari::Enrichers::IPInfo
Private Class Methods
query(ip)
click to toggle source
Query IPInfo
@param [String] ip
@return [Mihari::Structs::IPInfo::Response, nil]
# File lib/mihari/enrichers/ipinfo.rb, line 29 def query(ip) headers = {} token = Mihari.config.ipinfo_api_key unless token.nil? headers[:authorization] = "Bearer #{token}" end begin res = HTTP.headers(headers).get("https://ipinfo.io/#{ip}/json") data = JSON.parse(res.body.to_s) Structs::IPInfo::Response.from_dynamic! data rescue HTTP::Error nil end end
Public Instance Methods
valid?()
click to toggle source
@return [Boolean]
# File lib/mihari/enrichers/ipinfo.rb, line 9 def valid? Mihari.config.ipinfo_api_key.nil? end
Private Instance Methods
configuration_keys()
click to toggle source
# File lib/mihari/enrichers/ipinfo.rb, line 15 def configuration_keys %w[ipinfo_api_key] end