class Zypper::Upgraderepo::Requests::HttpRequest

Public Class Methods

register_protocol() click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 94
def self.register_protocol; ['https', 'http'] end

Public Instance Methods

evaluate_alternative(version) click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 96
def evaluate_alternative(version)
  if not_found?
    return traverse_url(URI(url), version)
  elsif redirected?
    return { url: redirected_to, message: 'Redirected to:' }
  end
end
max_drop_back() click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 92
def max_drop_back; 0; end

Private Instance Methods

get_request(uri, head) click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 107
def get_request(uri, head)
  #super uri || URI(url), head
  super uri || repodata_uri, head
end
has_repodata?(uri) click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 112
def has_repodata?(uri)
  ping(repodata_uri(uri))
  available?
end
subfolders() click to toggle source
# File lib/zypper/upgraderepo/requests/http.rb, line 117
def subfolders
  res = ping.body.to_s.scan(Regexp.new('href=[\'\"][^\/\"]+\/[\'\"]')).delete_if do |x|
    x =~ /^\// || x =~ /^\.\./ || x =~ /\:\/\// || x =~ /href=[\"\'](media\.1|boot|EFI)\/[\"\']/
  end.uniq.map do |d|
    d.scan(/href=[\"\']([^"]+)[\'\"]/).pop.pop
  end

  res
end