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