Class: Mihari::Enrichers::IPInfo
- Extended by:
- Memist::Memoizable
- Defined in:
- lib/mihari/enrichers/ipinfo.rb
Class Method Summary collapse
-
.query(ip) ⇒ Mihari::Structs::IPInfo::Response?
Query IPInfo.
Instance Method Summary collapse
Methods inherited from Base
Methods included from Mixins::Configurable
#configuration_keys?, #configuration_values, #configured?
Class Method Details
.query(ip) ⇒ Mihari::Structs::IPInfo::Response?
Query IPInfo
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# 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 url = "https://ipinfo.io/#{ip}/json" res = HTTP.get(url, headers: headers) data = JSON.parse(res.body.to_s) Structs::IPInfo::Response.from_dynamic! data rescue HTTPError nil end end |
Instance Method Details
#valid? ⇒ Boolean
9 10 11 |
# File 'lib/mihari/enrichers/ipinfo.rb', line 9 def valid? Mihari.config.ipinfo_api_key.nil? end |