13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/extreme_overclocking_client/request.rb', line 13
def request(config:, endpoint:, base_url: FEED_URL, params: {})
unless config.is_a?(ExtremeOverclockingClient::Config)
raise ArgumentError, "Param 'config' must be an instance of ExtremeOverclockingClient::Config"
end
url = URI.join(base_url, endpoint)
url.query = URI.encode_www_form(params) unless params.empty?
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url.request_uri)
request['Referer'] = config.referer
request['User-Agent'] = config.user_agent
response = http.request(request)
raise StandardError, response.body unless response.code == '200'
Hash.from_xml(response.body)
end
|