Sha256: 51c81d5e50edcd7a175b9eb61fdfd065c68ce31d34d7661dbfeb2abb4587ccd6
Contents?: true
Size: 838 Bytes
Versions: 1
Compression:
Stored size: 838 Bytes
Contents
# frozen_string_literal: true module Mihari module Web module Endpoints # # IP address API endpoint # class IPAddresses < Grape::API namespace :ip_addresses do desc "Get an IP address", { success: Entities::IPAddress, failure: [{ code: 404, message: "Not found", model: Entities::Message }], summary: "Get an IP address" } params do requires :ip, type: String, regexp: /\A[0-9.]+\z/ end get "/:ip", requirements: { ip: %r{[^/]+} } do ip = params[:ip].to_s data = Enrichers::IPInfo.new.call(ip) error!({ message: "IP:#{ip} is not found" }, 404) if data.nil? present data, with: Entities::IPAddress end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mihari-5.7.0 | lib/mihari/web/endpoints/ip_addresses.rb |