aliyun-oss-sdk 0.1.6 → 0.1.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a4dffa4f05bdcb2eb9f06d15cbdcc37021d40467
4
- data.tar.gz: b0e93ac9129547c53832e2a7471358e1b4a6902f
3
+ metadata.gz: 0001949a848455a73f2af7665744b7ec2582cfae
4
+ data.tar.gz: ec117f792a2ec628b3f42aa8b58815d2756fcd54
5
5
  SHA512:
6
- metadata.gz: e023786791bdf6258372ef0d5ec58175950ea9314fddd47e3e606c70e014c23582cc055be478d7f6f0e50fe1b5da29c16509e8b247a8b033092438ef7afcbe4a
7
- data.tar.gz: 34def1938674e7c94a918e974c9fe74d0fa4591185b5f9d9bd27a3ccfd1b743fe8f4f71d5b00069780754f2b2f8a4694479bc9261c1546d32d74568c9a1397ee
6
+ metadata.gz: 041d6e77f4becdf642768b07516252f44dfcb4c1857c3d8b602ec5e291a8f10e5b5efb56147b2f403885c88fa0ae9d2ace2b4d12cd6f53f0203e1683ab411d82
7
+ data.tar.gz: 7a6f40dec1bc333cbc16b208eb7536647196c51cd64ba8dc7f726b407ef390918e7383e753dabb8aa0354781576a619428b3194e297c6c194b4e9e3dcadb56c5
@@ -5,3 +5,6 @@ rvm:
5
5
  - 2.2.0
6
6
  - 2.3.0
7
7
  before_install: gem install bundler
8
+ script:
9
+ - bundle exec rake test
10
+ - bundle exec rubocop
@@ -1,3 +1,8 @@
1
+ 0.1.7
2
+ -----
3
+
4
+ - Remove special charaters in object name;
5
+
1
6
  0.1.6
2
7
  -----
3
8
 
data/Rakefile CHANGED
@@ -12,7 +12,6 @@ task default: :test
12
12
 
13
13
  task :test do
14
14
  Rake::Task['test'].invoke
15
- #Rake::Task['rubocop'].invoke
16
15
  end
17
16
 
18
17
  RuboCop::RakeTask.new do |task|
@@ -40,6 +40,7 @@ module Aliyun
40
40
  #
41
41
  # @return [Response]
42
42
  def bucket_create_object(key, file, headers = {})
43
+ Utils.clean_object_name!(key)
43
44
  Utils.stringify_keys!(headers)
44
45
  http.put("/#{key}", headers: headers, body: Utils.to_data(file), bucket: bucket, key: key)
45
46
  end
@@ -67,6 +68,7 @@ module Aliyun
67
68
  fail('source_bucket must be not empty!') if source_bucket.nil? || source_bucket.empty?
68
69
  fail('source_key must be not empty!') if source_key.nil? || source_key.empty?
69
70
 
71
+ Utils.clean_object_name!(key)
70
72
  Utils.stringify_keys!(headers)
71
73
  headers.merge!('x-oss-copy-source' => "/#{source_bucket}/#{source_key}")
72
74
 
@@ -86,6 +88,7 @@ module Aliyun
86
88
  #
87
89
  # @return [Response]
88
90
  def bucket_append_object(key, file, position = 0, headers = {})
91
+ Utils.clean_object_name!(key)
89
92
  Utils.stringify_keys!(headers)
90
93
 
91
94
  query = { 'append' => true, 'position' => position }
@@ -115,6 +118,7 @@ module Aliyun
115
118
  #
116
119
  # @return [Response]
117
120
  def bucket_get_object(key, query = {}, headers = {})
121
+ Utils.clean_object_name!(key)
118
122
  Utils.stringify_keys!(query)
119
123
  Utils.stringify_keys!(headers)
120
124
 
@@ -130,6 +134,7 @@ module Aliyun
130
134
  def bucket_get_object_share_link(key, expired_in_seconds)
131
135
  expire_time = Time.now.to_i + expired_in_seconds
132
136
 
137
+ Utils.clean_object_name!(key)
133
138
  signature = Authorization.get_temporary_signature(
134
139
  @secret_key,
135
140
  expire_time,
@@ -150,6 +155,7 @@ module Aliyun
150
155
  #
151
156
  # @return [Response]
152
157
  def bucket_delete_object(key)
158
+ Utils.clean_object_name!(key)
153
159
  http.delete("/#{key}", bucket: bucket, key: key)
154
160
  end
155
161
 
@@ -184,6 +190,7 @@ module Aliyun
184
190
  #
185
191
  # @return [Response]
186
192
  def bucket_get_meta_object(key, headers = {})
193
+ Utils.clean_object_name!(key)
187
194
  Utils.stringify_keys!(headers)
188
195
  http.head("/#{key}", headers: headers, bucket: bucket, key: key)
189
196
  end
@@ -198,6 +205,7 @@ module Aliyun
198
205
  #
199
206
  # @return [Response]
200
207
  def bucket_get_object_acl(key)
208
+ Utils.clean_object_name!(key)
201
209
  query = { 'acl' => true }
202
210
  http.get("/#{key}", query: query, bucket: bucket, key: key)
203
211
  end
@@ -213,6 +221,7 @@ module Aliyun
213
221
  #
214
222
  # @return [Response]
215
223
  def bucket_set_object_acl(key, acl)
224
+ Utils.clean_object_name!(key)
216
225
  query = { 'acl' => true }
217
226
  headers = { 'x-oss-object-acl' => acl }
218
227
  http.put("/#{key}", query: query, headers: headers, bucket: bucket, key: key)
@@ -6,6 +6,12 @@ require 'gyoku'
6
6
  module Aliyun
7
7
  module Oss
8
8
  class Utils
9
+
10
+ # remove special charaters in object name https://github.com/aliyun-beta/aliyun-oss-ruby-sdk/issues/9
11
+ def self.clean_object_name!(key)
12
+ key.gsub!(/[#%]/, '')
13
+ end
14
+
9
15
  # Get endpoint
10
16
  #
11
17
  # @example
@@ -1,5 +1,5 @@
1
1
  module Aliyun
2
2
  module Oss
3
- VERSION = '0.1.6'
3
+ VERSION = '0.1.7'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aliyun-oss-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Newell Zhu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-04 00:00:00.000000000 Z
11
+ date: 2016-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty