fog-k5 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -0
- data/lib/fog/k5/shared.rb +10 -10
- data/lib/fog/k5/version.rb +1 -1
- data/lib/fog/storage/k5/models/file.rb +3 -2
- data/lib/fog/storage/k5/real.rb +15 -12
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e40070f77c9bd70b3000574e08cfc6d19ac6af256749778d6d84c1c7559891fd
|
4
|
+
data.tar.gz: 6afad60e397d964e0effdd1b4ddf7d0f738a9f35a4e4e31ec0d46eedc2e7cee2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c8c576a850fd39a458a5a063113a8c207835a68f032b31ae9bf48c3321381730b6a488f749352cbc18295b9e8d39d691b2e92a8919b20e11121bd28ad9db2dd
|
7
|
+
data.tar.gz: c58e542bc8744ca2b8dab2965f97ab20a3e843f253c3162278fe1091b5201f8e470857915eb7bee77787bdc247e463c75286d2d5f629cb2eaa370efc96eca0cc
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# Change Log
|
2
|
+
|
3
|
+
## [v0.1.1](https://github.com/blooper05/fog-k5/tree/v0.1.1) (2018-05-17)
|
4
|
+
[Full Changelog](https://github.com/blooper05/fog-k5/compare/v0.1.0...v0.1.1)
|
5
|
+
|
6
|
+
**Fixed bugs:**
|
7
|
+
|
8
|
+
- Exception does not occur even if file upload fails [\#6](https://github.com/blooper05/fog-k5/issues/6)
|
9
|
+
- File with Japanese file name can not be uploaded to Object Storage [\#3](https://github.com/blooper05/fog-k5/issues/3)
|
10
|
+
- Redundant slashes are included in the URL [\#2](https://github.com/blooper05/fog-k5/issues/2)
|
11
|
+
|
12
|
+
**Merged pull requests:**
|
13
|
+
|
14
|
+
- 💚 Allow codeclimate duplication on requests [\#8](https://github.com/blooper05/fog-k5/pull/8) ([blooper05](https://github.com/blooper05))
|
15
|
+
- 🐛 Add the expected response HTTP status codes [\#7](https://github.com/blooper05/fog-k5/pull/7) ([blooper05](https://github.com/blooper05))
|
16
|
+
- 🐛 Add Excon::Middleware::EscapePath to middlewares param [\#5](https://github.com/blooper05/fog-k5/pull/5) ([blooper05](https://github.com/blooper05))
|
17
|
+
- 🐛 Remove redundant slashes included in the URL [\#4](https://github.com/blooper05/fog-k5/pull/4) ([blooper05](https://github.com/blooper05))
|
18
|
+
- Update rake requirement to ~\> 12.3 [\#1](https://github.com/blooper05/fog-k5/pull/1) ([dependabot[bot]](https://github.com/apps/dependabot))
|
19
|
+
|
20
|
+
## [v0.1.0](https://github.com/blooper05/fog-k5/tree/v0.1.0) (2018-05-14)
|
21
|
+
|
22
|
+
|
23
|
+
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/lib/fog/k5/shared.rb
CHANGED
@@ -4,8 +4,8 @@ module Fog
|
|
4
4
|
K5_URL_SCHEME = 'https'.freeze
|
5
5
|
K5_URL_SUFFIX = 'cloud.global.fujitsu.com'.freeze
|
6
6
|
|
7
|
-
def build_url(url_type:)
|
8
|
-
region
|
7
|
+
def build_url(url_type:, region: nil)
|
8
|
+
region ||= @k5_region
|
9
9
|
"#{K5_URL_SCHEME}://#{url_type}.#{region}.#{K5_URL_SUFFIX}"
|
10
10
|
end
|
11
11
|
|
@@ -16,16 +16,16 @@ module Fog
|
|
16
16
|
private
|
17
17
|
|
18
18
|
def auth_token_expired?
|
19
|
-
|
20
|
-
|
19
|
+
!@k5_auth_token_expires_at ||
|
20
|
+
@k5_auth_token_expires_at - 300 < Fog::Time.now
|
21
21
|
end
|
22
22
|
|
23
23
|
def refresh_auth_token
|
24
24
|
connection = Excon.new(build_url(url_type: 'identity'))
|
25
25
|
response = connection.post(auth_request_params)
|
26
26
|
|
27
|
-
|
28
|
-
|
27
|
+
@k5_auth_token = response.headers['X-Subject-Token']
|
28
|
+
@k5_auth_token_expires_at = Fog::Time.parse(
|
29
29
|
Fog::JSON.decode(response.body)['token']['expires_at'],
|
30
30
|
)
|
31
31
|
end
|
@@ -47,16 +47,16 @@ module Fog
|
|
47
47
|
password: {
|
48
48
|
user: {
|
49
49
|
domain: {
|
50
|
-
name:
|
50
|
+
name: @k5_domain_name,
|
51
51
|
},
|
52
|
-
name:
|
53
|
-
password:
|
52
|
+
name: @k5_user_name,
|
53
|
+
password: @k5_user_password,
|
54
54
|
},
|
55
55
|
},
|
56
56
|
},
|
57
57
|
scope: {
|
58
58
|
project: {
|
59
|
-
id:
|
59
|
+
id: @k5_project_id,
|
60
60
|
},
|
61
61
|
},
|
62
62
|
},
|
data/lib/fog/k5/version.rb
CHANGED
@@ -20,9 +20,10 @@ module Fog
|
|
20
20
|
def public_url
|
21
21
|
requires :directory, :key
|
22
22
|
|
23
|
-
|
23
|
+
region = service.k5_region
|
24
|
+
project_id = service.k5_project_id
|
24
25
|
version = K5_STORAGE_URL_VERSION
|
25
|
-
url = build_url(url_type: K5_STORAGE_URL_TYPE)
|
26
|
+
url = build_url(url_type: K5_STORAGE_URL_TYPE, region: region)
|
26
27
|
container = directory.key
|
27
28
|
|
28
29
|
"#{url}/#{version}/AUTH_#{project_id}/#{container}/#{key}"
|
data/lib/fog/storage/k5/real.rb
CHANGED
@@ -5,14 +5,10 @@ module Fog
|
|
5
5
|
include Utils
|
6
6
|
include Fog::K5::Shared
|
7
7
|
|
8
|
-
|
9
|
-
Fog.credentials[:k5_region] = options[:k5_region]
|
10
|
-
Fog.credentials[:k5_project_id] = options[:k5_project_id]
|
11
|
-
Fog.credentials[:k5_domain_name] = options[:k5_domain_name]
|
12
|
-
Fog.credentials[:k5_user_name] = options[:k5_user_name]
|
13
|
-
Fog.credentials[:k5_user_password] = options[:k5_user_password]
|
8
|
+
attr_reader :k5_region, :k5_project_id
|
14
9
|
|
15
|
-
|
10
|
+
def initialize(options = {})
|
11
|
+
refresh_credentials(options)
|
16
12
|
|
17
13
|
url = build_url(url_type: K5_STORAGE_URL_TYPE)
|
18
14
|
@connection = Fog::Core::Connection.new(url, false, params)
|
@@ -20,13 +16,20 @@ module Fog
|
|
20
16
|
|
21
17
|
private
|
22
18
|
|
19
|
+
def refresh_credentials(options)
|
20
|
+
@k5_region = options[:k5_region]
|
21
|
+
@k5_project_id = options[:k5_project_id]
|
22
|
+
@k5_domain_name = options[:k5_domain_name]
|
23
|
+
@k5_user_name = options[:k5_user_name]
|
24
|
+
@k5_user_password = options[:k5_user_password]
|
25
|
+
|
26
|
+
refresh_auth_token_if_expired
|
27
|
+
end
|
28
|
+
|
23
29
|
def params
|
24
|
-
token = Fog.credentials[:k5_auth_token]
|
25
|
-
project_id = Fog.credentials[:k5_project_id]
|
26
|
-
version = K5_STORAGE_URL_VERSION
|
27
30
|
{
|
28
|
-
headers: { 'X-Auth-Token' =>
|
29
|
-
path_prefix: "#{
|
31
|
+
headers: { 'X-Auth-Token' => @k5_auth_token },
|
32
|
+
path_prefix: "#{K5_STORAGE_URL_VERSION}/AUTH_#{@k5_project_id}",
|
30
33
|
query: { format: :json },
|
31
34
|
}
|
32
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-k5
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- blooper05
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fog-core
|
@@ -121,6 +121,7 @@ files:
|
|
121
121
|
- ".rspec"
|
122
122
|
- ".rubocop.yml"
|
123
123
|
- ".travis.yml"
|
124
|
+
- CHANGELOG.md
|
124
125
|
- CODE_OF_CONDUCT.md
|
125
126
|
- Gemfile
|
126
127
|
- LICENSE
|