Sha256: 2517972716d22e5d17c534aeaf1bc908b03817c4ce39db1b1e5814d17bde78c0
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
module ByRobot class Request BASEURL = "http://api.byrobot.cn" def self.check_required_params(params, names) missing_params = names.map(&:to_s) - params.keys.map(&:to_s) warn("Warn: missing required option: #{missing_params.join(',')}") if missing_params.size > 0 end def self.sign(sign_message) digest = OpenSSL::Digest.new('sha1') sign = Base64.encode64 OpenSSL::HMAC.digest(digest, ByRobot.app_secret, sign_message) end def self.headers headers = { content_type: :json, accept: :json, 'AcceptCharset': 'utf-8', 'contentType': 'utf-8', datetime: Time.now.utc.strftime('%a, %d %b %Y %H:%M:%S GMT'), appkey: ByRobot.app_key } str = headers[:appkey] + "\n" + headers[:datetime] headers[:sign] = sign(str) headers end def self.get(action, params) JSON.parse RestClient.get("#{BASEURL}/#{action}", headers.merge({params: params})) end def self.post(action, params) JSON.parse RestClient.post("#{BASEURL}/#{action}", params.to_json, headers) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
by_robot-0.0.2 | lib/by_robot/request.rb |