Sha256: eb15ef2c937b7b73e0c8a616cd9244b7bf3b28f3408ba3ce6b0e82844452385a

Contents?: true

Size: 1.47 KB

Versions: 3

Compression:

Stored size: 1.47 KB

Contents

# frozen_string_literal: true

module UrlScan
  module Commands
    class Community < Base
      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 scan id [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, size: options["size"], offset: options["offset"], sort: options["sort"])
          puts JSON.pretty_generate(res)
        end
      end

      desc "dom [UUID]", "get the DOM of a scan using the scan id [UUID]"
      def dom(uuid)
        with_error_handling do
          res = api.dom(uuid)
          puts res
        end
      end

      desc "screenshot [UUID]", "get the screenshot(image/png) of a scan using the scan id [UUID]"
      def screenshot(uuid)
        with_error_handling do
          res = api.screenshot(uuid)
          puts res
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
urlscan-0.5.0 lib/urlscan/commands/community.rb
urlscan-0.4.1 lib/urlscan/commands/community.rb
urlscan-0.4.0 lib/urlscan/commands/community.rb