Sha256: 643d7da4d25533a0cc747eb34fa5e1989faf9ed8adab78986545469f95ba0db2

Contents?: true

Size: 819 Bytes

Versions: 10

Compression:

Stored size: 819 Bytes

Contents

# frozen_string_literal: true

module WPScan
  module Controller
    # Controller to handle the API token
    class VulnApi < CMSScanner::Controller::Base
      def cli_options
        [
          OptString.new(['--api-token TOKEN', 'The WPVulnDB API Token to display vulnerability data'])
        ]
      end

      def before_scan
        return unless ParsedCli.api_token

        DB::VulnApi.token = ParsedCli.api_token

        api_status = DB::VulnApi.status

        raise Error::InvalidApiToken if api_status['error']
        raise Error::ApiLimitReached if api_status['requests_remaining'] == 0
        raise api_status['http_error'] if api_status['http_error']
      end

      def after_scan
        output('status', status: DB::VulnApi.status, api_requests: WPScan.api_requests)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
wpscan-3.7.9 app/controllers/vuln_api.rb
wpscan-3.7.8 app/controllers/vuln_api.rb
wpscan-3.7.7 app/controllers/vuln_api.rb
wpscan-3.7.6 app/controllers/vuln_api.rb
wpscan-3.7.5 app/controllers/vuln_api.rb
wpscan-3.7.4 app/controllers/vuln_api.rb
wpscan-3.7.3 app/controllers/vuln_api.rb
wpscan-3.7.2 app/controllers/vuln_api.rb
wpscan-3.7.1 app/controllers/vuln_api.rb
wpscan-3.7.0 app/controllers/vuln_api.rb