Class: Qiniu::DownloadToken

Inherits:
AccessToken show all
Includes:
Helper, Utils
Defined in:
lib/qiniu/tokens/download_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 included from Helper

#get_expire_time

Methods inherited from AccessToken

#generate_encoded_digest

Constructor Details

#initialize(opts = {}) ⇒ DownloadToken

Returns a new instance of DownloadToken.



19
20
21
22
# File 'lib/qiniu/tokens/download_token.rb', line 19

def initialize(opts = {})
  @pattern = opts[:pattern]
  @expires_in = opts[:expires_in] || 3600
end

Instance Attribute Details

#expires_inObject

Returns the value of attribute expires_in.



17
18
19
# File 'lib/qiniu/tokens/download_token.rb', line 17

def expires_in
  @expires_in
end

#patternObject

Returns the value of attribute pattern.



17
18
19
# File 'lib/qiniu/tokens/download_token.rb', line 17

def pattern
  @pattern
end

Instance Method Details

#generate_signatureObject



24
25
26
27
# File 'lib/qiniu/tokens/download_token.rb', line 24

def generate_signature
  params = {"S" => @pattern, "E" => get_expire_time.to_i + @expires_in}
  Utils.urlsafe_base64_encode(params.to_json)
end

#generate_tokenObject



29
30
31
32
33
# File 'lib/qiniu/tokens/download_token.rb', line 29

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