class SeoReport::Request
Attributes
url[R]
Public Class Methods
new(url, headers = {})
click to toggle source
# File lib/seo_report/request.rb, line 11 def initialize(url, headers = {}) @url = URI(url) @headers = headers end
Public Instance Methods
headers()
click to toggle source
# File lib/seo_report/request.rb, line 34 def headers { "User-Agent" => "seo-report/#{SeoReport::VERSION} Net::HTTP" }.merge(@headers || {}) end
perform()
click to toggle source
# File lib/seo_report/request.rb, line 16 def perform http = Net::HTTP.new(url.host, url.port) http.use_ssl = url.is_a?(URI::HTTPS) @response = http.request(http_request) end
request()
click to toggle source
# File lib/seo_report/request.rb, line 22 def request if @response http_request else raise NoRequestPerformedYetError.new(url) end end
response()
click to toggle source
# File lib/seo_report/request.rb, line 30 def response @response or raise NoRequestPerformedYetError.new(url) end
Protected Instance Methods
http_request()
click to toggle source
# File lib/seo_report/request.rb, line 41 def http_request @http_request ||= Net::HTTP::Get.new(url.request_uri, headers) end