Sha256: 5879f8ffd3a50fd16e9819c7527ed3795686c8937b1589041691d59d5bee7974
Contents?: true
Size: 730 Bytes
Versions: 6
Compression:
Stored size: 730 Bytes
Contents
# frozen_string_literal: true module Mihari module Endpoints 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 }] } 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.query(ip) if data.nil? error!({ message: "IP:#{ip} is not found" }, 404) else present data, with: Entities::IPAddress end end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems