Sha256: 6f09ee52db5f19c1ba38562fe7da315cec8082470d68b45633d8e4759b34d652
Contents?: true
Size: 749 Bytes
Versions: 3
Compression:
Stored size: 749 Bytes
Contents
# frozen_string_literal: true require "http" require "json" module Mihari module Controllers class IPAddressController < BaseController def query(ip) headers = {} token = Mihari.config.ipinfo_api_key unless token.nil? headers[:authorization] = "Bearer #{token}" end res = HTTP.headers(headers).get("https://ipinfo.io/#{ip}/json") JSON.parse res.to_s end get "/api/ip_addresses/:ip" do param :ip, String, required: true ip = params["ip"].to_s begin data = query(ip) json data rescue HTTP::Error status 404 json({ message: "IP:#{ip} is not found" }) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems