Sha256: 2c2de5e8fb484945b8abdcbdd4c7d8692a75fd139aeabdaa1a78b1e668403e81
Contents?: true
Size: 1.34 KB
Versions: 2
Compression:
Stored size: 1.34 KB
Contents
require 'json' require 'thor' module UrlScan class CLI < Thor class_option :API_KEY, type: :string desc "submit [URL]", "submit a scan to [URL]" method_option :public, type: :boolean, default: true def submit(url) with_error_handling do res = api.submit(url, options[:public]) puts JSON.pretty_generate(res) end end desc "result [UUID]", "get the result of a scan using the [UUID]" def result(uuid) with_error_handling do res = api.result(uuid) puts JSON.pretty_generate(res) end end desc "search [QUERY]", "search for scans by [QUERY]" method_option :size, type: :numeric, default: 100 method_option :offset, type: :numeric, default: 0 method_option :sort, type: :string, default: "_score" def search(query) with_error_handling do res = api.search(query, options[:size], options[:offset], options[:sort]) puts JSON.pretty_generate(res) end end no_commands do def api options[:API_KEY] ? API.new(options[:API_KEY]) : API.new end def with_error_handling yield rescue ArgumentError => _ puts "Warning: please specify your urlscan.io API key via ENV['URLSCAN_API_KEY] or --API-KEY" rescue ResponseError => e puts "Warning: #{e}" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
urlscan-0.1.1 | lib/urlscan/cli.rb |
urlscan-0.1.0 | lib/urlscan/cli.rb |