swift-storage 0.0.11 → 0.0.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -1
- data/Gemfile +0 -1
- data/lib/swift_storage/configuration.rb +4 -2
- data/lib/swift_storage/service.rb +17 -21
- data/lib/swift_storage/version.rb +1 -1
- data/swift-ruby.gemspec +0 -1
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 07d3d130ca97b74bc12b9976b8f7c2e79ccc3ffd
|
4
|
+
data.tar.gz: 924eaadbcdd6710d323ed33019c6d00e2f0d735d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 763a569994c1e698e78801a7f45b2b80f48e7cb9ec2f0b0a42acbf691289ff3c8c7c28b1912a710778f5bbf7a2d799635403a14168ed5f0af07d6e7e36908af4
|
7
|
+
data.tar.gz: 2157970a98acc0e5cb4d8de0a15d960e5d148fb63dca931153e078812ab002b47b06dc6914c6d011f085569da1ec69c2398fa853e15b2dd2390dd2c5941288a4
|
data/CHANGELOG.md
CHANGED
@@ -3,10 +3,17 @@
|
|
3
3
|
This file is written in reverse chronological order, newer releases will
|
4
4
|
appear at the top.
|
5
5
|
|
6
|
+
## 0.0.12
|
7
|
+
|
8
|
+
* Net::Http `ssl_verify` can be set to `false` (default is `true`)
|
9
|
+
* Create a new Net::Http session for each request
|
10
|
+
[#13](https://github.com/PredicSis/swift-ruby/pull/2)
|
11
|
+
@ArmandPredicSis
|
12
|
+
|
6
13
|
## 0.0.11
|
7
14
|
|
8
15
|
* Some refactoring
|
9
|
-
[#
|
16
|
+
[#12](https://github.com/PredicSis/swift-ruby/pull/1)
|
10
17
|
@ArmandPredicSis
|
11
18
|
|
12
19
|
## 0.0.10
|
data/Gemfile
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
module SwiftStorage
|
2
2
|
class Configuration
|
3
|
-
attr_accessor :auth_version, :
|
4
|
-
|
3
|
+
attr_accessor :auth_version, :ssl_verify,
|
4
|
+
:tenant, :username, :password, :endpoint, :temp_url_key,
|
5
|
+
:auth_method, :authtenant_type, :retries
|
5
6
|
|
6
7
|
def initialize
|
7
8
|
@auth_version = ENV['SWIFT_STORAGE_AUTH_VERSION'] || '1.0'
|
9
|
+
@ssl_verify = true
|
8
10
|
@tenant = ENV['SWIFT_STORAGE_TENANT']
|
9
11
|
@username = ENV['SWIFT_STORAGE_USERNAME']
|
10
12
|
@password = ENV['SWIFT_STORAGE_PASSWORD']
|
@@ -11,6 +11,7 @@ class SwiftStorage::Service
|
|
11
11
|
|
12
12
|
attr_reader :tenant,
|
13
13
|
:endpoint,
|
14
|
+
:ssl_verify,
|
14
15
|
:storage_url,
|
15
16
|
:auth_token,
|
16
17
|
:auth_at,
|
@@ -27,8 +28,10 @@ class SwiftStorage::Service
|
|
27
28
|
username: configuration.username,
|
28
29
|
password: configuration.password,
|
29
30
|
endpoint: configuration.endpoint,
|
31
|
+
ssl_verify: configuration.ssl_verify,
|
30
32
|
temp_url_key: configuration.temp_url_key,
|
31
33
|
retries: configuration.retries)
|
34
|
+
@ssl_verify = ssl_verify
|
32
35
|
@temp_url_key = temp_url_key
|
33
36
|
@retries = retries
|
34
37
|
|
@@ -136,16 +139,6 @@ class SwiftStorage::Service
|
|
136
139
|
path = uri.query ? uri.path + '?' + uri.query : uri.path
|
137
140
|
uri.path = ''
|
138
141
|
uri.query = nil
|
139
|
-
key = uri.to_s
|
140
|
-
|
141
|
-
if sessions[key].nil?
|
142
|
-
s = sessions[key] = Net::HTTP.new(uri.host, uri.port)
|
143
|
-
s.use_ssl = uri.scheme == 'https'
|
144
|
-
#s.set_debug_output($stderr)
|
145
|
-
s.keep_alive_timeout = 30
|
146
|
-
s.start
|
147
|
-
end
|
148
|
-
s = sessions[key]
|
149
142
|
|
150
143
|
case method
|
151
144
|
when :get
|
@@ -169,10 +162,6 @@ class SwiftStorage::Service
|
|
169
162
|
raise ArgumentError, "Method #{method} not supported"
|
170
163
|
end
|
171
164
|
|
172
|
-
if json_data
|
173
|
-
req.body = JSON.generate(json_data)
|
174
|
-
end
|
175
|
-
|
176
165
|
if input_stream
|
177
166
|
if String === input_stream
|
178
167
|
input_stream = StringIO.new(input_stream)
|
@@ -189,15 +178,24 @@ class SwiftStorage::Service
|
|
189
178
|
end
|
190
179
|
end
|
191
180
|
|
192
|
-
response =
|
193
|
-
|
194
|
-
|
181
|
+
response = Net::HTTP.start(uri.host, uri.port) do |http|
|
182
|
+
http.use_ssl = uri.scheme == 'https'
|
183
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE unless ssl_verify
|
184
|
+
http.request(req, &output_proc)
|
185
|
+
end
|
186
|
+
|
187
|
+
case response
|
188
|
+
when Net::HTTPSuccess, Net::HTTPRedirection
|
189
|
+
return response
|
190
|
+
else
|
191
|
+
raise_error!(response)
|
192
|
+
end
|
195
193
|
rescue AuthError => e
|
196
194
|
# If token is at least 60 second old, we try to get a new one
|
197
195
|
raise e unless @auth_at && (Time.now - @auth_at).to_i > 60
|
198
196
|
authenticate!
|
199
197
|
retry
|
200
|
-
rescue
|
198
|
+
rescue Errno::EPIPE, Timeout::Error, Errno::EINVAL, EOFError
|
201
199
|
# Server closed the connection, retry
|
202
200
|
sleep 5
|
203
201
|
retry unless (tries -= 1) <= 0
|
@@ -208,10 +206,8 @@ class SwiftStorage::Service
|
|
208
206
|
|
209
207
|
attr_reader :sessions, :username, :password
|
210
208
|
|
211
|
-
def
|
209
|
+
def raise_error!(response)
|
212
210
|
case response.code
|
213
|
-
when /^2/
|
214
|
-
return true
|
215
211
|
when '401'
|
216
212
|
raise AuthError, response.body
|
217
213
|
when '403'
|
data/swift-ruby.gemspec
CHANGED
@@ -18,7 +18,6 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency "bundler", "~> 1.7"
|
22
21
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
22
|
spec.add_development_dependency "rspec", "~> 3.1.0"
|
24
23
|
spec.add_development_dependency "guard", "~> 2.8.2"
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: swift-storage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicolas Goy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.7'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.7'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rake
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -180,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
180
166
|
version: '0'
|
181
167
|
requirements: []
|
182
168
|
rubyforge_project:
|
183
|
-
rubygems_version: 2.4.
|
169
|
+
rubygems_version: 2.4.5.1
|
184
170
|
signing_key:
|
185
171
|
specification_version: 4
|
186
172
|
summary: Swift storage client.
|