Class: Qiniu::RS::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, #generate_qbox_signature, #generate_query_string, #http_request, #is_response_ok?, #response_error, #safe_json_parse, #send_request_with, #upload_multipart_data, #urlsafe_base64_decode, #urlsafe_base64_encode

Methods inherited from AccessToken

#generate_encoded_digest

Constructor Details

#initialize(opts = {}) ⇒ DownloadToken

Returns a new instance of DownloadToken.



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

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

Instance Attribute Details

#expires_in ⇒ Object

Returns the value of attribute expires_in.



13
14
15
# File 'lib/qiniu/tokens/download_token.rb', line 13

def expires_in
  @expires_in
end

#pattern ⇒ Object

Returns the value of attribute pattern.



13
14
15
# File 'lib/qiniu/tokens/download_token.rb', line 13

def pattern
  @pattern
end

Instance Method Details

#generate_signature ⇒ Object



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

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

#generate_token ⇒ Object



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

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