Module: Umengo::Util

Included in:
Service
Defined in:
lib/umengo/util.rb

Instance Method Summary collapse

Instance Method Details

#generate_sign(uri, params) ⇒ Object



5
6
7
8
9
10
# File 'lib/umengo/util.rb', line 5

def generate_sign(uri, params)
  method = 'POST'
  url = [Umengo::UMENG_HOST, '/', uri]
  post_body = JSON.dump(params)
  Digest::MD5.hexdigest([method, url, post_body, @app_master_secret].join)
end

#perform(uri, params) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/umengo/util.rb', line 12

def perform(uri, params)
  conn = Faraday.new(:url => Umengo::UMENG_HOST) do |faraday|
    faraday.request  :url_encoded
    faraday.response :logger
    faraday.adapter  Faraday.default_adapter
  end

  response = conn.post do |req|
    req.url uri, sign: generate_sign(uri, params)
    req.headers['Content-Type'] = 'application/json'
    req.body = params.to_json
  end

  Res.new(response, uri)
end