class Zypper::Upgraderepo::PageRequest

Constants

USER_AGENT

Attributes

page[R]

Public Class Methods

new(obj, timeout = 60) click to toggle source
Calls superclass method
# File lib/zypper/upgraderepo/requests/http.rb, line 13
def initialize(obj, timeout = 60)
  super obj
  @timeout = timeout
end

Public Instance Methods

available?() click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 18
def available?
  ping.is_a?(Net::HTTPSuccess)
end
cache!() click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 46
def cache!
  @page = nil
end
forbidden?() click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 34
def forbidden?
  ping.is_a?(Net::HTTPForbidden)
end
not_found?() click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 30
def not_found?
  ping.is_a?(Net::HTTPNotFound)
end
redirected?() click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 22
def redirected?
  ping.is_a?(Net::HTTPRedirection)
end
redirected_to() click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 26
def redirected_to
  ping['location']
end
status() click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 42
def status
  ping.class.to_s
end
timeout?() click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 38
def timeout?
  ping.is_a?(Net::HTTPRequestTimeOut)
end

Private Instance Methods

get_request(uri, head) click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 53
def get_request(uri, head)

  if head
    request = Net::HTTP::Head.new(uri.request_uri)
  else
    request = Net::HTTP::Get.new(uri.request_uri)
  end

  request['User-Agent'] = USER_AGENT

  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = (uri.scheme == 'https')
  http.open_timeout = @timeout

  http.request(request)
end
ping(uri = nil, head = true) click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 70
def ping(uri = nil, head = true)
  begin
    if @page.nil? || uri
      @page = get_request(uri, head)
    end
  rescue SocketError
    raise NoConnection
  rescue Net::OpenTimeout
    @page = Net::HTTPRequestTimeOut.new('1.1', '', '')
  end
  @page
end