aliyun-oss-sdk 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
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