class WhoisXMLAPI2::Request::V1
Public Class Methods
go(domain)
click to toggle source
# File lib/whoisxmlapi2/request.rb, line 32 def go(domain) return WhoisXMLAPI2::Request.send(:fixture_value) if config.mock_out_for_testing timestamp = (Time.now.to_f * 1000).to_i digest = generate_digest(timestamp) JSON.parse(open(config.url + params(digest, domain, timestamp)).read) end
Private Class Methods
config()
click to toggle source
# File lib/whoisxmlapi2/request.rb, line 56 def config raise 'Missing configuration' unless WhoisXMLAPI2::Configuration.set_v1? WhoisXMLAPI2.configuration end
generate_digest(timestamp)
click to toggle source
# File lib/whoisxmlapi2/request.rb, line 42 def generate_digest(timestamp) digest = config.username + timestamp.to_s + config.api_key URI.escape(OpenSSL::HMAC.hexdigest(OpenSSL::Digest::MD5.new, config.secret, digest)) end
params(digest, domain, timestamp)
click to toggle source
# File lib/whoisxmlapi2/request.rb, line 48 def params(digest, domain, timestamp) "requestObject=#{prepare_data(timestamp)}&digest=#{digest}&domainName=#{domain}&outputFormat=json" end
prepare_data(timestamp)
click to toggle source
# File lib/whoisxmlapi2/request.rb, line 52 def prepare_data(timestamp) Base64.encode64( { u: config.username, t: timestamp }.to_json ) end