class Qiniu::UploadToken

Attributes

async_options[RW]
callback_body[RW]
callback_body_type[RW]
callback_url[RW]
customer[RW]
escape[RW]
expires_in[RW]
return_body[RW]
return_url[RW]
scope[RW]

Public Class Methods

new(opts = {}) click to toggle source
# File lib/qiniu/tokens/upload_token.rb, line 13
def initialize(opts = {})
  @scope = opts[:scope]
  @expires_in = opts[:expires_in] || 3600
  @callback_url = opts[:callback_url]
  @callback_body = opts[:callback_body]
  @callback_body_type = opts[:callback_body_type]
  @customer = opts[:customer]
  @escape = opts[:escape]
  @async_options = opts[:async_options]
  @return_body = opts[:return_body]
  @return_url = opts[:return_url]
end

Public Instance Methods

generate_signature() click to toggle source
# File lib/qiniu/tokens/upload_token.rb, line 26
def generate_signature
  params = {:scope => @scope, :deadline => Time.now.to_i + @expires_in}
  params[:callbackUrl] = @callback_url if !@callback_url.nil? && !@callback_url.empty?
  params[:callbackBody] = @callback_body if !@callback_body.nil? && !@callback_body.empty?
  params[:callbackBodyType] = @callback_body_type if !@callback_body_type.nil? && !@callback_body_type.empty?
  params[:customer] = @customer if !@customer.nil? && !@customer.empty?
  params[:escape] = 1 if @escape == 1 || @escape == true
  params[:asyncOps] = @async_options if !@async_options.nil? && !@async_options.empty?
  params[:returnBody] = @return_body if !@return_body.nil? && !@return_body.empty?
  params[:returnUrl] = @return_url if !@return_url.nil? && !@return_url.empty?
  Utils.urlsafe_base64_encode(params.to_json)
end
generate_token() click to toggle source
# File lib/qiniu/tokens/upload_token.rb, line 39
def generate_token
  signature = generate_signature
  encoded_digest = generate_encoded_digest(signature)
  %Q(#{@access_key}:#{encoded_digest}:#{signature})
end