class OKEX::API::Private

Protected Instance Methods

digest() click to toggle source
# File lib/okex/api/private.rb, line 43
def digest
  @digest ||= OpenSSL::Digest.new('sha256')
end
headers(*args) click to toggle source
# File lib/okex/api/private.rb, line 13
def headers(*args)
  {
    # 'OKEX-KEY' => key,
    # 'OKEX-SIGN' => signature(*args),
    # 'OKEX-TS' => ts.to_s,
    'Content-Type' => 'application/json',
    'Accepts' => 'application/json',
  }
end
send_request(method, path, query) click to toggle source
Calls superclass method OKEX::API::Base#send_request
# File lib/okex/api/private.rb, line 9
def send_request(method, path, query)
  super(method, path, headers(method, path, query), query)
end
signature(*args) click to toggle source
# File lib/okex/api/private.rb, line 23
def signature(*args)
  OpenSSL::HMAC.hexdigest(digest, secret, signature_payload(*args))
end
signature_payload(method, path, query) click to toggle source
# File lib/okex/api/private.rb, line 27
def signature_payload(method, path, query)
  payload = [ts, method.to_s.upcase, "/api", path].compact_empty
  
  if method==:post
    payload << query.to_json
  elsif method==:get
    payload << ("?" + URI.encode_www_form(query))
  end unless query.empty?

  payload.join.encode("UTF-8")
end
ts() click to toggle source
# File lib/okex/api/private.rb, line 39
def ts
  @ts ||= (Time.now.to_f * 1000).to_i
end