class RongCloudIM::Service
Constants
- API_HOST
Public Class Methods
get_response(data, path)
click to toggle source
# File lib/rong_cloud_im/service.rb, line 7 def get_response(data, path) uri = URI(API_HOST + path + "." + response_type) http = Net::HTTP.new(uri.host, uri.port) request = Net::HTTP::Post.new(uri.path) headers.each do |key, value| request.add_field(key, value) end request.set_form_data(data) response = http.request(request) result response.body end
Private Class Methods
headers()
click to toggle source
# File lib/rong_cloud_im/service.rb, line 30 def headers nonce = Random.new_seed.to_s timestamp = Time.now.to_i.to_s app_secret = RongCloudIM.app_secret || "" signature = sign(app_secret + nonce + timestamp) { 'RC-App-Key' => RongCloudIM.app_key || "", 'RC-Nonce' => nonce, 'RC-Timestamp' => timestamp, 'RC-Signature' => signature } end
response_type()
click to toggle source
# File lib/rong_cloud_im/service.rb, line 43 def response_type RongCloudIM.response_type || 'json' end
result(body)
click to toggle source
# File lib/rong_cloud_im/service.rb, line 47 def result body begin JSON.parse body rescue => e { code: 502, msg: "内容解析错误", detail: e.to_s } end end
sign(data)
click to toggle source
# File lib/rong_cloud_im/service.rb, line 26 def sign(data) OpenSSL::Digest::SHA1.new(data).to_s end