class CVE::Crawler

Constants

DATA_FEED_ANALYZED
DATA_FEED_DEFAULT

Attributes

crawl_url[R]
user_agent[R]
verify_cert[R]

Public Class Methods

new(type, verify_cert, user_agent) click to toggle source
# File lib/cve_crawler/cve_crawler.rb, line 9
def initialize(type, verify_cert, user_agent)
  @crawl_url = type.downcase == 'analyzed' ? DATA_FEED_ANALYZED : DATA_FEED_DEFAULT
  @verify_cert = verify_cert ? OpenSSL::SSL::VERIFY_PEER : OpenSSL::SSL::VERIFY_NONE
  @user_agent = user_agent
end

Public Instance Methods

crawl() click to toggle source
# File lib/cve_crawler/cve_crawler.rb, line 17
def crawl
  http = Net::HTTP.new(@crawl_url.host, @crawl_url.port)
  http.use_ssl = @crawl_url.scheme == 'https'

  if http.use_ssl?
    http.verify_mode = @verify_cert
  end

  request = Net::HTTP::Get.new(@crawl_url, {'User-Agent' => @user_agent})
  response = http.request(request)

  response.value  # Raise an error if status is not 200

  response
end
inspect() click to toggle source
# File lib/cve_crawler/cve_crawler.rb, line 33
def inspect
  "#<CVE::Crawler url=#{@crawl_url.to_s}>"
end