Class: UnderFire::APIRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/under_fire/api_request.rb

Overview

TODO:

Error handling

HTTP requests required for Gracenote API.

Examples:

response = UnderFire::ApiRequest.post(query_xml, api_url)

response = UnderFire::ApiRequest.get_file(image_url, filename)

Class Method Summary collapse

Class Method Details

.get_file(url, filename) ⇒ Object

Parameters:

  • url (String)

    URL that points to file.

  • filename (String)

    Filename and path for saving downloaded file.



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/under_fire/api_request.rb', line 34

def self.get_file(url, filename)
  uri = URI url

  Net::HTTP.start(uri.host, uri.port) do |http|
    request = Net::HTTP::Get.new uri

    http.request request do |response|
      open filename, 'w' do |io|
        response.read_body do |chunk|
          io.write chunk
        end
      end
    end
  end
end

.post(query, api_url) ⇒ Net::HTTPResponse

Parameters:

  • query (String)

    XML query string

  • api_url (String)

    url for your application

Returns:

  • (Net::HTTPResponse)


19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/under_fire/api_request.rb', line 19

def self.post(query, api_url)
  uri = URI(api_url)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.ssl_version = 'SSLv3'
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  req = Net::HTTP::Post.new(uri.request_uri)
  req.body = query
  req['Content-Type'] = 'application/xml'
  res = http.request(req)
  res
end