gcs-signer 0.1.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gcs_signer.rb +6 -3
  3. metadata +5 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9da9710c3ec0d2781bb3d0002fc104a9f898ad9
4
- data.tar.gz: 8027a48a1276f076f9d0a46a5bd9aa0841da712e
3
+ metadata.gz: a74dad977177130c33d5b0ba0ca0ead47b5c3a82
4
+ data.tar.gz: 7926bd9cb2d5d2f48af827afb5f1392555f6e4e9
5
5
  SHA512:
6
- metadata.gz: 3b1303e21df8a93d2cd23a8ef1636a30d79ff3238643524adfc52efa7b082df53fdcb2d5fbdaa85e6a89b2ef06323d31d481a906106a895ca42bc6b7fb4687d5
7
- data.tar.gz: 8e37da7d200265cdeb64ae82a0395a6c66a26ae92b1f9bb7d1e25698b30a349be783d372114cacb2605a3238e9afcb99fa8909fd8f4586421dbe7edb77edda6f
6
+ metadata.gz: 5188880d7e0d8abc3a7ae068714256a235f96f659be957866e3938dacfa9e7be20b0b7899b7aa717fdfa4b92566655c40c8eea706c1820bd5f0868e3dd856f8c
7
+ data.tar.gz: 975ee1df451b55e8a774a9cab6e7ffff22348310be3febca46db623fa5c390230681a86e4230c2b4276ecdde4948d252beaf4d807eec566e72ece403e4d1cd4b
data/lib/gcs_signer.rb CHANGED
@@ -10,21 +10,24 @@ require "json"
10
10
  # signer.sign "your-bucket", "object/name"
11
11
  # # => "https://storage.googleapis.com/your-bucket/object/name?..."
12
12
  class GcsSigner
13
- VERSION = "0.1.0"
13
+ VERSION = "0.2.1"
14
14
 
15
15
  # gcs-signer requires credential that can access to GCS.
16
16
  # [path] the path of the service_account json file.
17
17
  # [json_string] ...or the content of the service_account json file.
18
+ # [gcs_host] Custom GCS host when signing a url.
18
19
  #
19
20
  # or if you also use \+google-cloud+ gem. you can authenticate
20
21
  # using environment variable that uses.
21
- def initialize(path: nil, json_string: nil)
22
+ def initialize(path: nil, json_string: nil, gcs_host: nil)
22
23
  json_string ||= File.read(path) unless path.nil?
23
24
  json_string = look_for_environment_variables if json_string.nil?
24
25
 
25
26
  fail AuthError, "No credentials given." if json_string.nil?
26
27
  @credentials = JSON.parse(json_string)
27
28
  @key = OpenSSL::PKey::RSA.new(@credentials["private_key"])
29
+
30
+ @gcs_host = gcs_host || "https://storage.googleapis.com"
28
31
  end
29
32
 
30
33
  # @return [String] Signed url
@@ -58,7 +61,7 @@ class GcsSigner
58
61
  def sign_url(bucket, object_name, options = {})
59
62
  options = apply_default_options(options)
60
63
 
61
- url = URI.join "https://storage.googleapis.com",
64
+ url = URI.join @gcs_host,
62
65
  URI.escape("/#{bucket}/"), URI.escape(object_name)
63
66
  signature = sign string_that_will_be_signed(url, options)
64
67
  url.query = query_for_signed_url(signature, options)
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gcs-signer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sangwon Yi
8
+ - Minku Lee
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-12-27 00:00:00.000000000 Z
12
+ date: 2017-05-25 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rake
@@ -57,6 +58,7 @@ description: |2
57
58
  No additional gems and API requests required to generate signed URL.
58
59
  email:
59
60
  - sangwon@sha.kr
61
+ - minku@sha.kr
60
62
  executables: []
61
63
  extensions: []
62
64
  extra_rdoc_files: []
@@ -83,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
85
  version: '0'
84
86
  requirements: []
85
87
  rubyforge_project:
86
- rubygems_version: 2.5.2
88
+ rubygems_version: 2.6.10
87
89
  signing_key:
88
90
  specification_version: 4
89
91
  summary: Simple signed URL generator for Google Cloud Storage.