class Proxy::ContainerGateway::ForemanApi
Public Instance Methods
fetch_host_repositories(uuid, params)
click to toggle source
# File lib/smart_proxy_container_gateway/foreman_api.rb, line 35 def fetch_host_repositories(uuid, params) registry_request(nil, params, '_catalog', uuid: uuid, cert: true) end
fetch_token(auth_header, params)
click to toggle source
# File lib/smart_proxy_container_gateway/foreman_api.rb, line 27 def fetch_token(auth_header, params) registry_request(auth_header, params, 'token') end
fetch_user_repositories(auth_header, params)
click to toggle source
# File lib/smart_proxy_container_gateway/foreman_api.rb, line 31 def fetch_user_repositories(auth_header, params) registry_request(auth_header, params, '_catalog') end
process_params(params_in)
click to toggle source
# File lib/smart_proxy_container_gateway/foreman_api.rb, line 22 def process_params(params_in) params = params_in.slice('scope', 'account').compact URI.encode_www_form(params) end
registry_request(auth_header, params, suffix, uuid: '', cert: false)
click to toggle source
# File lib/smart_proxy_container_gateway/foreman_api.rb, line 7 def registry_request(auth_header, params, suffix, uuid: '', cert: false) uri = URI.join(Proxy::SETTINGS.foreman_url, Proxy::ContainerGateway::Plugin.settings.katello_registry_path, suffix) uri.query = process_params(params) req = Net::HTTP::Get.new(uri) req.add_field('Authorization', auth_header) unless cert req.add_field('Accept', 'application/json') req.add_field('HostUUID', uuid) if cert req.content_type = 'application/json' http = Net::HTTP.new(uri.hostname, uri.port) http.use_ssl = true http.request(req) end