fog-k5 0.1.1 → 0.1.2
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 +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
|