module Gracenote::Http

Public Instance Methods

agent() click to toggle source
# File lib/gracenote/http.rb, line 25
def agent
  @agent ||= begin
    Faraday.new(url: host) do |conn|
      conn.response :xml,  :content_type => /\bxml$/
      conn.use Faraday::Conductivity::ExtendedLogging, logger: ::Logger.new("faraday.log") if log_enabled?
      conn.adapter Faraday.default_adapter
    end
  end
end
host() click to toggle source
# File lib/gracenote/http.rb, line 17
def host
  "https://c#{short_client_id}.web.cddbp.net"
end
log_enabled?() click to toggle source
# File lib/gracenote/http.rb, line 35
def log_enabled?
  ENV["LOGGING"] == "1"
end
path() click to toggle source
# File lib/gracenote/http.rb, line 21
def path
  "/webapi/xml/1.0/"
end
post(body) click to toggle source
# File lib/gracenote/http.rb, line 9
def post(body)
  agent.post do |req|
    req.url path
    req.headers["Content-Type"] = "application/xml"
    req.body = body
  end
end