qiniu_mini_sdk 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -0
- data/lib/qiniu_mini_sdk/policy.rb +12 -6
- data/lib/qiniu_mini_sdk/version.rb +1 -1
- data/lib/qiniu_mini_sdk.rb +10 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 789efab8c23cc420d7e3dd37cb95e880cc2749f2
|
4
|
+
data.tar.gz: 4873c86aefb19944ce0497b11d816f4c062250c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee84a07faf9ef56a48dcded2834c043f8874f5c68416af3167c52ac535ff44a1473bbac77136c1220ca6c898f9c20165d3dd54fa84e91950a77aa998af26bf18
|
7
|
+
data.tar.gz: ee55228fb86b0bd307defdda883dc4eaa3a1f9d0f086da3cd2b60b391d37f3258859aba7bd16fff5fb8185fea416fa86eb43ee64755d5bb8f57b3ecc771759db
|
data/README.md
CHANGED
@@ -24,10 +24,17 @@ Or install it yourself as:
|
|
24
24
|
QiniuMiniSdk.setup do |config|
|
25
25
|
config.access_key = 'xxxx'
|
26
26
|
config.secret_key = 'sdfadsf'
|
27
|
+
# 如果你的bucket, 和你的默认url不同(比如你使用的是https的url), 可以使用下面的方法
|
28
|
+
config.bucket_url 'test-123123', 'https://dn-test12312313.qbox.me'
|
29
|
+
config.bucket_url 'test-12312', "https://dn-werwer.qbox.me"
|
27
30
|
end
|
28
31
|
|
29
32
|
qiniu = QiniuMiniSdk::Policy.new bucket: '你的buckname'
|
30
33
|
qiniu.uptoken
|
34
|
+
|
35
|
+
# 获取下载地址
|
36
|
+
qiniu = QiniuMiniSdk::Policy.new bucket: '你的buckname', key: '你下载资源的key', expires_in: '有效期,可以不填直接忽略这个参数, 默认为3600秒'
|
37
|
+
qiniu.download_url
|
31
38
|
```
|
32
39
|
|
33
40
|
## Contributing
|
@@ -22,20 +22,21 @@ module QiniuMiniSdk
|
|
22
22
|
@bucket = bucket
|
23
23
|
end
|
24
24
|
|
25
|
+
|
25
26
|
def expires_in=(time)
|
26
27
|
@params[:deadline] = Time.now.to_i + time
|
27
28
|
end
|
28
29
|
|
29
30
|
def uptoken
|
30
31
|
access_key = QiniuMiniSdk.access_key
|
31
|
-
secret_key = QiniuMiniSdk.secret_key
|
32
|
-
|
33
32
|
encoded_put_policy = urlsafe_base64_encode(self.to_json)
|
34
|
-
|
35
|
-
|
36
|
-
encoded_sign = urlsafe_base64_encode(sign)
|
33
|
+
"#{access_key}:#{encoded_sign}:#{hmac_sha1_sign encoded_put_policy}"
|
34
|
+
end
|
37
35
|
|
38
|
-
|
36
|
+
def download_url
|
37
|
+
base_url = QiniuMiniSdk.urls[@bucket] || "http://#{@bucket}.qiniudn.com"
|
38
|
+
url = "#{base_url}/#{@key}?e=#{@params[:deadline]}"
|
39
|
+
"#{url}&token=#{QiniuMiniSdk.access_key}:#{hmac_sha1_sign url}"
|
39
40
|
end
|
40
41
|
|
41
42
|
def method_missing(meth, *args, &blk)
|
@@ -72,5 +73,10 @@ module QiniuMiniSdk
|
|
72
73
|
Base64.encode64(content).strip.gsub('+', '-').gsub('/','_').gsub(/\r?\n/, '')
|
73
74
|
end
|
74
75
|
|
76
|
+
def hmac_sha1_sign(data)
|
77
|
+
digest = OpenSSL::Digest.new('sha1')
|
78
|
+
urlsafe_base64_encode OpenSSL::HMAC.digest(digest, QiniuMiniSdk.secret_key, data)
|
79
|
+
end
|
80
|
+
|
75
81
|
end
|
76
82
|
end
|
data/lib/qiniu_mini_sdk.rb
CHANGED
@@ -5,11 +5,20 @@ module QiniuMiniSdk
|
|
5
5
|
autoload :Policy, 'qiniu_mini_sdk/policy'
|
6
6
|
|
7
7
|
def self.setup
|
8
|
+
QiniuMiniSdk.default
|
8
9
|
yield self
|
9
10
|
end
|
10
11
|
|
11
12
|
class << self
|
12
|
-
attr_accessor :access_key, :secret_key
|
13
|
+
attr_accessor :access_key, :secret_key, :urls
|
14
|
+
|
15
|
+
def bucket_url bucket_name, bucket_url
|
16
|
+
@urls[bucket_name] = bucket_url
|
17
|
+
end
|
18
|
+
|
19
|
+
def default
|
20
|
+
@urls ||= {}
|
21
|
+
end
|
13
22
|
end
|
14
23
|
|
15
24
|
end
|