minio-ruby 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a3c31a5fe29fd588b7aaabd3b822d9a11bc80f9c
4
- data.tar.gz: 65194aa8bfc7347b037eca82058d5e9ffa9dcf9b
3
+ metadata.gz: fcff924d9d4868498229e2d43b7bdde4ae2ff495
4
+ data.tar.gz: 6ee6f25b23bbbd9ef312f0b10f1f51f657335ae0
5
5
  SHA512:
6
- metadata.gz: d5f3c651da5d52cd83ff7da69c839a7bb8313dd052cc73fa316d12168660f722fb5f9657a8ce11b8507288fb5dd1465a744ea3c78cd7e5d44501b66a7ebcb4f8
7
- data.tar.gz: 8b7de5e3f6e552802db8d00400138faa195f9c4fad8c3ab7ab762b944a75905b3853081e3391be830a554e82de9da55849f31a33795170a520f6b81550240565
6
+ metadata.gz: c06d00014e55dcd98fb69c5175591176ddfa3a5781fd7811afb82ea492fa26d719b7dc18f91f711c9360183f6c25fb826dcb7a55b5e1cd68e14c66faf2e21785
7
+ data.tar.gz: e320fb2e54c9d17548e7359249f11604c90ea952a7b926caa03682e657cd5745ccddd0f0ae9dd93d90e397e3b33d1378027ed767823055459194f6723dc4ee75
@@ -32,6 +32,20 @@ module MinioRuby
32
32
  https.request(req)
33
33
  end
34
34
 
35
+ def presigned_object(bucket_name, object_name, expire_in = 24 * 60 * 60)
36
+ url = "#{end_point}/#{bucket_name}/#{object_name}"
37
+ headers = sign_headers 'get', url, '', 'expire_in' => expire_in
38
+
39
+ puts headers
40
+ uri = URI.parse(end_point)
41
+ https = Net::HTTP.new(uri.host, uri.port)
42
+ https.use_ssl = secure
43
+
44
+ req = Net::HTTP::Get.new(url, headers)
45
+ req.body = ''
46
+ https.set_debug_output($stdout) if debug
47
+ https.request(req)
48
+ end
35
49
 
36
50
  def put_object(bucket_name, object_name, data)
37
51
  url = "#{end_point}/#{bucket_name}/#{object_name}"
@@ -74,7 +88,7 @@ module MinioRuby
74
88
 
75
89
  private
76
90
 
77
- def sign_headers(method, url, data = '')
91
+ def sign_headers(method, url, data = '', headers = {})
78
92
  signer = MinioRuby::Signer.new(
79
93
  access_key: access_key,
80
94
  secret_key: secret_key,
@@ -82,7 +96,7 @@ module MinioRuby
82
96
  )
83
97
  signer.sign_v4(method,
84
98
  url,
85
- {},
99
+ headers,
86
100
  data,
87
101
  debug)
88
102
  end
@@ -31,12 +31,11 @@ module MinioRuby
31
31
  @endpoint = endpoint
32
32
  @headers = headers
33
33
  @uri = URI(endpoint)
34
-
35
- puts "EP : "+@endpoint
36
- puts "Headers : "+@headers.to_s
34
+ puts "EP : #{@endpoint}\nHeaders: #{@headers.to_s}"
37
35
 
38
36
  headers["X-Amz-Date"] = date
39
- headers["X-Amz-Content-Sha256"] = Digestor.hexdigest(body || "")
37
+ headers["X-Amz-Content-Sha256"] = Digestor.hexdigest(body || '')
38
+ headers['X-Amz-Expires'] = headers.delete 'expire_in' if headers['expire_in']
40
39
 
41
40
 
42
41
  headers["Host"] = get_host(@uri)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minio-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Minio, Inc.