class Dibuk::HttpRequest
Constants
- ENDPOINT_SANDBOX_URL
- ENDPOINT_URL
Public Instance Methods
body_sign()
click to toggle source
# File lib/dibuk/http_request.rb, line 38 def body_sign params = { :a => request.action, :v => ::Dibuk::API_VERSION, :did => seller_id } request.body.each do |key, value| params[key] = value end query = '' params.each do |key, value| query += '&' unless query == '' query += key.to_s query += '=' + CGI.escape(value) end #ph = Faraday::Utils::ParamsHash.new #ph.update(params) #puts ph.to_query wrong, changing order of keys params[:ch] = OpenSSL::HMAC.hexdigest("sha1", Base64.decode64(signature), query) params end
call()
click to toggle source
# File lib/dibuk/http_request.rb, line 15 def call # pr endpoint # pr body_sign uri = URI(endpoint) net_http = Net::HTTP.new(uri.host, uri.port) net_http.use_ssl=true request = Net::HTTP::Post.new(uri) net_http.start do |http| post_data = URI.encode_www_form(body_sign) http.request(request, post_data) end end
endpoint()
click to toggle source
# File lib/dibuk/http_request.rb, line 30 def endpoint sandbox? ? ENDPOINT_SANDBOX_URL : ENDPOINT_URL end
sandbox?()
click to toggle source
# File lib/dibuk/http_request.rb, line 34 def sandbox? sandbox end