qingstor-sdk 2.2.0 → 2.2.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c85e73c270e2630d4e2499bd7ef31f1b6e246d2d
|
4
|
+
data.tar.gz: 1b3a584bbee63df761921a43d4f8270ae42beab0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8246701fa0c00c9959dce2e967984fdb9427c0378272eb510766fab145b3a276e4b79d0e275190e297275f96939f82cdce8016e1f3f34a6280e917fc36461c64
|
7
|
+
data.tar.gz: ac8bc039c6f9be943efae10848bfdc03b225e2d5a7264510f900de43b940998ae7734fcb7d36676d1c65b8b932b4eb53aaf58fb59741197133e538756a0e2c9d
|
data/README.md
CHANGED
@@ -31,7 +31,7 @@ Specify `qingstor-sdk` as dependency in your application's Gemfile:
|
|
31
31
|
gem 'qingstor-sdk'
|
32
32
|
```
|
33
33
|
|
34
|
-
Ensure `qingstor-sdk` is installed as dependency with `bundle
|
34
|
+
Ensure `qingstor-sdk` is installed as dependency with `bundle install`:
|
35
35
|
|
36
36
|
``` bash
|
37
37
|
$ bundle install
|
@@ -169,13 +169,19 @@ log_level: 'warn'
|
|
169
169
|
## Change Log
|
170
170
|
All notable changes to QingStor SDK for Ruby will be documented here.
|
171
171
|
|
172
|
-
|
172
|
+
### [v2.2.1] - 2017-03-10
|
173
173
|
|
174
|
-
|
174
|
+
#### Added
|
175
|
+
|
176
|
+
- Allow user to append additional info to User-Agent
|
177
|
+
|
178
|
+
### [v2.2.0] - 2017-02-28
|
179
|
+
|
180
|
+
#### Added
|
175
181
|
|
176
182
|
- Add ListMultipartUploads API.
|
177
183
|
|
178
|
-
|
184
|
+
#### Fixed
|
179
185
|
|
180
186
|
- Fix request builder & signer.
|
181
187
|
|
@@ -228,7 +234,8 @@ All notable changes to QingStor SDK for Ruby will be documented here.
|
|
228
234
|
The Apache License (Version 2.0, January 2004).
|
229
235
|
|
230
236
|
[compatible]: https://github.com/yunify/qingstor-sdk-ruby/tree/compatible
|
231
|
-
[v2.2.
|
237
|
+
[v2.2.1]: https://github.com/yunify/qingstor-sdk-ruby/compare/v2.2.0...v2.2.1
|
238
|
+
[v2.2.0]: https://github.com/yunify/qingstor-sdk-ruby/compare/v2.1.1...v2.2.0
|
232
239
|
[v2.1.1]: https://github.com/yunify/qingstor-sdk-ruby/compare/v2.1.0...v2.1.1
|
233
240
|
[v2.1.0]: https://github.com/yunify/qingstor-sdk-ruby/compare/v2.0.1...v2.1.0
|
234
241
|
[v2.0.1]: https://github.com/yunify/qingstor-sdk-ruby/compare/v2.0.0...v2.0.1
|
@@ -46,6 +46,23 @@ module QingStor
|
|
46
46
|
self
|
47
47
|
end
|
48
48
|
|
49
|
+
def check
|
50
|
+
[:access_key_id, :secret_access_key, :host, :port, :protocol].each do |x|
|
51
|
+
if !self[x] || self[x].to_s.empty?
|
52
|
+
raise ConfigurationError, "#{x.to_sym} not specified"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
if self[:additional_user_agent] && !self[:additional_user_agent].empty?
|
56
|
+
self[:additional_user_agent].each_byte do |x|
|
57
|
+
# Allow space(32) to ~(126) in ASCII Table, exclude "(34).
|
58
|
+
if x < 32 || x > 126 || x == 32 || x == 34
|
59
|
+
raise ConfigurationError, 'additional User-Agent contains characters that not allowed'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
self
|
64
|
+
end
|
65
|
+
|
49
66
|
def load_default_config
|
50
67
|
load_config_from_file Contract::DEFAULT_CONFIG_FILEPATH
|
51
68
|
end
|
@@ -1,12 +1,15 @@
|
|
1
1
|
# QingStor services configuration
|
2
2
|
|
3
|
-
#access_key_id:
|
4
|
-
#secret_access_key:
|
3
|
+
#access_key_id: ACCESS_KEY_ID
|
4
|
+
#secret_access_key: SECRET_ACCESS_KEY
|
5
5
|
|
6
|
-
host:
|
6
|
+
host: qingstor.com
|
7
7
|
port: 443
|
8
|
-
protocol:
|
8
|
+
protocol: https
|
9
9
|
connection_retries: 3
|
10
10
|
|
11
|
+
# Additional User-Agent
|
12
|
+
additional_user_agent: ""
|
13
|
+
|
11
14
|
# Valid log levels are "debug", "info", "warn", "error", and "fatal".
|
12
|
-
log_level:
|
15
|
+
log_level: warn
|
@@ -14,11 +14,21 @@
|
|
14
14
|
# | limitations under the License.
|
15
15
|
# +-------------------------------------------------------------------------
|
16
16
|
|
17
|
-
module
|
17
|
+
module QingStor
|
18
18
|
module SDK
|
19
19
|
class SDKError < StandardError
|
20
20
|
end
|
21
21
|
|
22
|
+
class ConfigurationError < SDKError
|
23
|
+
def initialize(error_message)
|
24
|
+
@error_message = error_message
|
25
|
+
end
|
26
|
+
|
27
|
+
def message
|
28
|
+
"configuration is not valid, #{@error_message}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
22
32
|
class NetworkError < SDKError
|
23
33
|
end
|
24
34
|
|
@@ -92,6 +92,9 @@ module QingStor
|
|
92
92
|
end
|
93
93
|
unless input[:request_headers][:'User-Agent']
|
94
94
|
ua = "qingstor-sdk-ruby/#{QingStor::SDK::VERSION} (Ruby v#{RUBY_VERSION}; #{RUBY_PLATFORM})"
|
95
|
+
if input[:config][:additional_user_agent] && !input[:config][:additional_user_agent].empty?
|
96
|
+
ua = "#{ua} #{input[:config][:additional_user_agent]}"
|
97
|
+
end
|
95
98
|
input[:request_headers][:'User-Agent'] = ua
|
96
99
|
end
|
97
100
|
|
@@ -99,11 +102,9 @@ module QingStor
|
|
99
102
|
input[:request_headers][:'Content-MD5'] = Base64.encode64(Digest::MD5.digest(input[:request_body])).strip
|
100
103
|
end
|
101
104
|
|
102
|
-
input[:request_headers].map
|
103
|
-
unless v.to_s.ascii_only?
|
104
|
-
|
105
|
-
end
|
106
|
-
}
|
105
|
+
input[:request_headers].map do |k, v|
|
106
|
+
input[:request_headers][k] = escape v.to_s unless v.to_s.ascii_only?
|
107
|
+
end
|
107
108
|
|
108
109
|
input[:request_headers]
|
109
110
|
end
|
data/lib/qingstor/sdk/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qingstor-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yunify SDK Group
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|