Module: Qiniu::S3::RS

Extended by:
Utils
Defined in:
lib/qiniu/s3/rs.rb

Class Method Summary collapse

Methods included from Utils

encode_entry_uri, generate_query_string, http_request, safe_json_parse, send_request_with, upload_multipart_data, urlsafe_base64_decode, urlsafe_base64_encode

Class Method Details

.batch(command, bucket, keys) ⇒ Object



39
40
41
42
43
44
45
46
# File 'lib/qiniu/s3/rs.rb', line 39

def batch(command, bucket, keys)
  execs = []
  keys.each do |key|
    encoded_uri = encode_entry_uri(bucket, key)
    execs << "op=/#{command}/#{encoded_uri}"
  end
  Auth.request Config.settings[:rs_host] + "/batch?" + execs.join("&")
end

.batch_delete(bucket, keys) ⇒ Object



56
57
58
# File 'lib/qiniu/s3/rs.rb', line 56

def batch_delete(bucket, keys)
  batch("delete", bucket, keys)
end

.batch_get(bucket, keys) ⇒ Object



48
49
50
# File 'lib/qiniu/s3/rs.rb', line 48

def batch_get(bucket, keys)
  batch("get", bucket, keys)
end

.batch_stat(bucket, keys) ⇒ Object



52
53
54
# File 'lib/qiniu/s3/rs.rb', line 52

def batch_stat(bucket, keys)
  batch("stat", bucket, keys)
end

.delete(bucket, key) ⇒ Object



21
22
23
# File 'lib/qiniu/s3/rs.rb', line 21

def delete(bucket, key)
  Auth.request Config.settings[:rs_host] + '/delete/' + encode_entry_uri(bucket, key)
end

.drop(bucket) ⇒ Object



35
36
37
# File 'lib/qiniu/s3/rs.rb', line 35

def drop(bucket)
  Auth.request Config.settings[:rs_host] + "/drop/#{bucket}"
end

.get(bucket, key, save_as = nil, expires_in = nil, version = nil) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/qiniu/s3/rs.rb', line 13

def get(bucket, key, save_as = nil, expires_in = nil, version = nil)
  url = Config.settings[:rs_host] + '/get/' + encode_entry_uri(bucket, key)
  url += '/base/' + version unless version.nil?
  url += '/attName/' + Utils.urlsafe_base64_encode(save_as) unless save_as.nil?
  url += '/expires/' + expires_in.to_s if !expires_in.nil? && expires_in > 0
  Auth.request url
end

.publish(domain, bucket) ⇒ Object



25
26
27
28
# File 'lib/qiniu/s3/rs.rb', line 25

def publish(domain, bucket)
  encoded_domain = Utils.urlsafe_base64_encode(domain)
  Auth.request Config.settings[:rs_host] + "/publish/#{encoded_domain}/from/#{bucket}"
end

.stat(bucket, key) ⇒ Object



9
10
11
# File 'lib/qiniu/s3/rs.rb', line 9

def stat(bucket, key)
  Auth.request Config.settings[:rs_host] + '/stat/' + encode_entry_uri(bucket, key)
end

.unpublish(domain) ⇒ Object



30
31
32
33
# File 'lib/qiniu/s3/rs.rb', line 30

def unpublish(domain)
  encoded_domain = Utils.urlsafe_base64_encode(domain)
  Auth.request Config.settings[:rs_host] + "/unpublish/#{encoded_domain}"
end