Class: Qiniu::DownloadToken

Inherits:
AccessToken show all
Includes:
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 inherited from AccessToken

#generate_encoded_digest

Constructor Details

#initialize(opts = {}) ⇒ DownloadToken

Returns a new instance of DownloadToken.



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

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.



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

def expires_in
  @expires_in
end

#patternObject

Returns the value of attribute pattern.



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

def pattern
  @pattern
end

Instance Method Details

#generate_signatureObject



22
23
24
25
# File 'lib/qiniu/tokens/download_token.rb', line 22

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

#generate_tokenObject



27
28
29
30
31
# File 'lib/qiniu/tokens/download_token.rb', line 27

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