Class: Qiniu::QboxToken

Inherits:
AccessToken show all
Includes:
Utils
Defined in:
lib/qiniu/tokens/qbox_token.rb

Instance Attribute Summary collapse

Attributes inherited from AccessToken

#access_key, #secret_key

Instance Method Summary collapse

Methods included from Utils

#crc32checksum, #debug, #encode_entry_uri, #http_request, #safe_json_parse, #send_request_with, #urlsafe_base64_decode, #urlsafe_base64_encode

Methods inherited from AccessToken

#generate_encoded_digest

Constructor Details

#initialize(opts = {}) ⇒ QboxToken

Returns a new instance of QboxToken.



14
15
16
17
# File 'lib/qiniu/tokens/qbox_token.rb', line 14

def initialize(opts = {})
  @url = opts[:url]
  @params = opts[:params]
end

Instance Attribute Details

#paramsObject

Returns the value of attribute params.



12
13
14
# File 'lib/qiniu/tokens/qbox_token.rb', line 12

def params
  @params
end

#urlObject

Returns the value of attribute url.



12
13
14
# File 'lib/qiniu/tokens/qbox_token.rb', line 12

def url
  @url
end

Instance Method Details

#generate_signatureObject



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/qiniu/tokens/qbox_token.rb', line 19

def generate_signature
  uri = URI.parse(@url)
  signature = uri.path
  query_string = uri.query
  signature += '?' + query_string if !query_string.nil? && !query_string.empty?
  signature += "\n"
  if @params.is_a?(Hash)
      params_string = HTTP.generate_query_string(@params)
      signature += params_string
  end
  signature
end

#generate_tokenObject



32
33
34
35
# File 'lib/qiniu/tokens/qbox_token.rb', line 32

def generate_token
  encoded_digest = generate_encoded_digest(generate_signature)
  %Q(#{@access_key}:#{encoded_digest})
end