class IAPVerifier::Request
Constants
- PRODUCTION_URL
- SANDBOX_URL
Public Class Methods
new(receipt)
click to toggle source
# File lib/iap_verifier/request.rb, line 6 def initialize(receipt) if receipt.nil? || (/\A[[:space:]]*\z/ === receipt) raise Error::EmptyReceipt.new end @request_data = { 'receipt-data' => receipt } end
Public Instance Methods
response()
click to toggle source
# File lib/iap_verifier/request.rb, line 16 def response verify_with_retry(@request_data) end
Private Instance Methods
verify(request_data, url)
click to toggle source
# File lib/iap_verifier/request.rb, line 32 def verify(request_data, url) uri = URI(url) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_PEER request = Net::HTTP::Post.new(uri.request_uri) request['Accept'] = "application/json" request['Content-Type'] = "application/json" request.body = request_data.to_json response = http.request(request) ResponseData.new(response.body) end
verify_with_retry(request_data)
click to toggle source
# File lib/iap_verifier/request.rb, line 22 def verify_with_retry(request_data) response_data = verify(request_data, PRODUCTION_URL) if response_data.sandbox? response_data = verify(request_data, SANDBOX_URL) end response_data end