Class: CVE::Crawler
- Inherits:
-
Object
- Object
- CVE::Crawler
- Defined in:
- lib/cve_crawler/cve_crawler.rb
Constant Summary collapse
- DATA_FEED_DEFAULT =
URI('https://nvd.nist.gov/download/nvd-rss.xml')
- DATA_FEED_ANALYZED =
URI('https://nvd.nist.gov/download/nvd-rss-analyzed.xml')
Instance Attribute Summary collapse
-
#crawl_url ⇒ Object
readonly
Returns the value of attribute crawl_url.
-
#user_agent ⇒ Object
readonly
Returns the value of attribute user_agent.
-
#verify_cert ⇒ Object
readonly
Returns the value of attribute verify_cert.
Instance Method Summary collapse
- #crawl ⇒ Object
-
#initialize(type, verify_cert, user_agent) ⇒ Crawler
constructor
A new instance of Crawler.
- #inspect ⇒ Object
Constructor Details
#initialize(type, verify_cert, user_agent) ⇒ Crawler
Returns a new instance of Crawler.
9 10 11 12 13 |
# 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 |
Instance Attribute Details
#crawl_url ⇒ Object (readonly)
Returns the value of attribute crawl_url.
15 16 17 |
# File 'lib/cve_crawler/cve_crawler.rb', line 15 def crawl_url @crawl_url end |
#user_agent ⇒ Object (readonly)
Returns the value of attribute user_agent.
15 16 17 |
# File 'lib/cve_crawler/cve_crawler.rb', line 15 def user_agent @user_agent end |
#verify_cert ⇒ Object (readonly)
Returns the value of attribute verify_cert.
15 16 17 |
# File 'lib/cve_crawler/cve_crawler.rb', line 15 def verify_cert @verify_cert end |
Instance Method Details
#crawl ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# 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 ⇒ Object
33 34 35 |
# File 'lib/cve_crawler/cve_crawler.rb', line 33 def inspect "#<CVE::Crawler url=#{@crawl_url.to_s}>" end |